using System.Linq;

namespace BLL
{
    /// <summary>
    /// 一次性项目登记
    /// </summary>
    public class OneTimeContractsService
    {
        /// <summary>
        /// 根据主键获取一次性项目登记
        /// </summary>
        /// <param name="oneTimeContractsId"></param>
        /// <returns></returns>
        public static Model.EMC_OneTimeContracts GetOneTimeContractsById(string oneTimeContractsId)
        {
            return Funs.DB.EMC_OneTimeContracts.FirstOrDefault(e => e.OneTimeContractsId == oneTimeContractsId);
        }

        /// <summary>
        /// 添加一次性项目登记
        /// </summary>
        /// <param name="oneTimeContracts"></param>
        public static void AddOneTimeContracts(Model.EMC_OneTimeContracts oneTimeContracts)
        {
            Model.EMC_OneTimeContracts newOneTimeContracts = new Model.EMC_OneTimeContracts();
            newOneTimeContracts.OneTimeContractsId = oneTimeContracts.OneTimeContractsId;
            newOneTimeContracts.ItemNumber = oneTimeContracts.ItemNumber;
            newOneTimeContracts.DisciplineId = oneTimeContracts.DisciplineId;
            newOneTimeContracts.ItemName = oneTimeContracts.ItemName;
            newOneTimeContracts.RegistrationDate = oneTimeContracts.RegistrationDate;
            newOneTimeContracts.ContractAdmin = oneTimeContracts.ContractAdmin;
            newOneTimeContracts.CostEngineer = oneTimeContracts.CostEngineer;
            newOneTimeContracts.Buyer = oneTimeContracts.Buyer;
            newOneTimeContracts.ProjectManager = oneTimeContracts.ProjectManager;
            newOneTimeContracts.ConstructionManager = oneTimeContracts.ConstructionManager;
            newOneTimeContracts.ConstructionEngineer = oneTimeContracts.ConstructionEngineer;
            newOneTimeContracts.TotalBudget = oneTimeContracts.TotalBudget;
            newOneTimeContracts.PriceSchemeId = oneTimeContracts.PriceSchemeId;
            newOneTimeContracts.ContractorId = oneTimeContracts.ContractorId;
            newOneTimeContracts.DesignUnits = oneTimeContracts.DesignUnits;
            newOneTimeContracts.Progress = oneTimeContracts.Progress;
            newOneTimeContracts.EndDate = oneTimeContracts.EndDate;
            newOneTimeContracts.Remark = oneTimeContracts.Remark;
            Funs.DB.EMC_OneTimeContracts.InsertOnSubmit(newOneTimeContracts);
            Funs.DB.SubmitChanges();
        }

        /// <summary>
        /// 修改一次性项目登记
        /// </summary>
        /// <param name="oneTimeContracts"></param>
        public static void UpdateOneTimeContracts(Model.EMC_OneTimeContracts oneTimeContracts)
        {
            Model.EMC_OneTimeContracts newOneTimeContracts = Funs.DB.EMC_OneTimeContracts.FirstOrDefault(e => e.OneTimeContractsId == oneTimeContracts.OneTimeContractsId);
            if (newOneTimeContracts != null)
            {
                newOneTimeContracts.ItemNumber = oneTimeContracts.ItemNumber;
                newOneTimeContracts.DisciplineId = oneTimeContracts.DisciplineId;
                newOneTimeContracts.ItemName = oneTimeContracts.ItemName;
                newOneTimeContracts.RegistrationDate = oneTimeContracts.RegistrationDate;
                newOneTimeContracts.ContractAdmin = oneTimeContracts.ContractAdmin;
                newOneTimeContracts.CostEngineer = oneTimeContracts.CostEngineer;
                newOneTimeContracts.Buyer = oneTimeContracts.Buyer;
                newOneTimeContracts.ProjectManager = oneTimeContracts.ProjectManager;
                newOneTimeContracts.ConstructionManager = oneTimeContracts.ConstructionManager;
                newOneTimeContracts.ConstructionEngineer = oneTimeContracts.ConstructionEngineer;
                newOneTimeContracts.TotalBudget = oneTimeContracts.TotalBudget;
                newOneTimeContracts.PriceSchemeId = oneTimeContracts.PriceSchemeId;
                newOneTimeContracts.ContractorId = oneTimeContracts.ContractorId;
                newOneTimeContracts.DesignUnits = oneTimeContracts.DesignUnits;
                newOneTimeContracts.Progress = oneTimeContracts.Progress;
                newOneTimeContracts.EndDate = oneTimeContracts.EndDate;
                newOneTimeContracts.Remark = oneTimeContracts.Remark;
                Funs.DB.SubmitChanges();
            }
        }

        /// <summary>
        /// 根据主键删除一次性项目登记记录
        /// </summary>
        /// <param name="oneTimeContractsId"></param>
        public static void DeleteOneTimeContractsById(string oneTimeContractsId)
        {
            Model.EMC_OneTimeContracts oneTimeContracts = Funs.DB.EMC_OneTimeContracts.FirstOrDefault(e => e.OneTimeContractsId == oneTimeContractsId);
            if (oneTimeContracts != null)
            {
                Funs.DB.EMC_OneTimeContracts.DeleteOnSubmit(oneTimeContracts);
                Funs.DB.SubmitChanges();
            }
        }
    }
}