using System;
using System.Collections;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using System.Data.Linq;
using System.Web.Security;
using System.Web.UI.WebControls;
using Model;
using BLL;
using System.Collections.Generic;
namespace BLL
{
    public class WbsDetailHistoryService
    {
        /// 
        /// 根据Id获取一个WBS版本历史明细信息
        /// 
        /// WBS版本历史明细Id
        public static Model.WbsDetailHistory GetWbsDetailHistoryByWbsDetailHistoryId(string wbsDetailHistoryId)
        {
            return Funs.DB.WbsDetailHistory.FirstOrDefault(e => e.WbsDetailHistoryId == wbsDetailHistoryId);
        }
        /// 
        /// 根据toWbs获取对应WBS版本历史明细信息
        /// 
        /// 对应wbsId
        public static List GetWbsDetailHistorysByToWbs(string toWbs)
        {
            return (from x in Funs.DB.WbsDetailHistory where x.ToWbs == toWbs orderby Convert.ToInt32(x.VersionNum.Substring(1, x.VersionNum.Length - 3)), x.Months select x).ToList();
        }
        /// 
        /// 增加WBS版本历史明细
        /// 
        /// WBS版本历史明细
        public static void AddWbsDetailHistory(Model.WbsDetailHistory wbsDetailHistory)
        {
            Model.SGGLDB db = Funs.DB;
            Model.WbsDetailHistory newWbsDetailHistory = new Model.WbsDetailHistory();
            newWbsDetailHistory.WbsDetailHistoryId = wbsDetailHistory.WbsDetailHistoryId;
            newWbsDetailHistory.ToWbs = wbsDetailHistory.ToWbs;
            newWbsDetailHistory.ToFlag = wbsDetailHistory.ToFlag;
            newWbsDetailHistory.Way = wbsDetailHistory.Way;
            newWbsDetailHistory.Months = wbsDetailHistory.Months;
            newWbsDetailHistory.PlanValue = wbsDetailHistory.PlanValue;
            newWbsDetailHistory.PlanValueRate = wbsDetailHistory.PlanValueRate;
            newWbsDetailHistory.VersionNum = wbsDetailHistory.VersionNum;
            db.WbsDetailHistory.InsertOnSubmit(newWbsDetailHistory);
            db.SubmitChanges();
        }
        /// 
        /// 根据Id删除WBS版本历史明细信息
        /// 
        /// 
        public static void DeleteWbsDetailHistory(string wbsDetailHistoryId)
        {
            Model.SGGLDB db = Funs.DB;
            Model.WbsDetailHistory ins = db.WbsDetailHistory.First(e => e.WbsDetailHistoryId == wbsDetailHistoryId);
            db.WbsDetailHistory.DeleteOnSubmit(ins);
            db.SubmitChanges();
        }
        /// 
        /// 根据toWbs删除WBS版本历史明细信息
        /// 
        /// 
        public static void DeleteWbsDetailHistoryByToWbs(string toWbs)
        {
            Model.SGGLDB db = Funs.DB;
            var details = from x in db.WbsDetailHistory where x.ToWbs == toWbs select x;
            if (details.Count() > 0)
            {
                db.WbsDetailHistory.DeleteAllOnSubmit(details);
                db.SubmitChanges();
            }
        }
    }
}