using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Model;
namespace BLL
{
    /// 
    /// 分部分项工程
    /// 
   public class SubProjectsService
    {
        /// 
        /// 根据主键获取分部分项工程
        /// 
        /// 
        /// 
        public static Model.Division_SubProjects GetSubProjectsById(string divisionId)
        {
            return Funs.DB.Division_SubProjects.FirstOrDefault(e => e.DivisionId == divisionId);
        }
        /// 
        /// 根据项目Id获取分部分项工程数量
        /// 
        /// 
        /// 
        public static int GetSubProjectsByProjectId(string projectId)
        {
            return (from x in Funs.DB.Division_SubProjects where x.ProjectId == projectId select x).Count();
        }
        /// 
        /// 添加分部分项
        /// 
        /// 
        public static void AddSubProjects(Division_SubProjects subProjects)
        {
            Model.Division_SubProjects newSubProjects = new Division_SubProjects
            {
                DivisionId = subProjects.DivisionId,
                ProjectId = subProjects.ProjectId,
                ParentId = subProjects.ParentId,
                DivisionLevel = subProjects.DivisionLevel,
                BranchEngineeringCode = subProjects.BranchEngineeringCode,
                BranchEngineeringName = subProjects.BranchEngineeringName,
                SubBranchEngineeringName = subProjects.SubBranchEngineeringName,
                ProEngineeringCode = subProjects.ProEngineeringCode,
                ProEngineeringName = subProjects.ProEngineeringName,
                ProEngineeringNum = subProjects.ProEngineeringNum,
                Remark = subProjects.Remark,
                Status=subProjects.Status,
                AddUser=subProjects.AddUser,
                OperateTime=subProjects.OperateTime,
                Sort=subProjects.Sort
            };
            Funs.DB.Division_SubProjects.InsertOnSubmit(newSubProjects);
            Funs.DB.SubmitChanges();
        }
        /// 
        /// 修改分部分项
        /// 
        /// 
        public static void UpdateSubProjects(Division_SubProjects subProjects)
        {
            Model.Division_SubProjects newSubProjects = Funs.DB.Division_SubProjects.FirstOrDefault(e => e.DivisionId == subProjects.DivisionId);
            if (newSubProjects!=null)
            {
                newSubProjects.ParentId = subProjects.ParentId;
                newSubProjects.DivisionLevel = subProjects.DivisionLevel;
                newSubProjects.BranchEngineeringCode = subProjects.BranchEngineeringCode;
                newSubProjects.BranchEngineeringName = subProjects.BranchEngineeringName;
                newSubProjects.SubBranchEngineeringName = subProjects.SubBranchEngineeringName;
                newSubProjects.ProEngineeringCode = subProjects.ProEngineeringCode;
                newSubProjects.ProEngineeringName = subProjects.ProEngineeringName;
                newSubProjects.ProEngineeringNum = subProjects.ProEngineeringNum;
                newSubProjects.Remark = subProjects.Remark;
                newSubProjects.Status = subProjects.Status;
                newSubProjects.AddUser = subProjects.AddUser;
                newSubProjects.OperateTime = subProjects.OperateTime;
                newSubProjects.Sort = subProjects.Sort;
                Funs.DB.SubmitChanges();
            }
        }
        /// 
        /// 根据主键删除分部分项工程
        /// 
        /// 
        public static void DeleteSubProjectsById(string divisionId)
        {
            var subProjects = Funs.DB.Division_SubProjects.FirstOrDefault(e => e.DivisionId == divisionId);
            if (subProjects != null)
            {
                Funs.DB.Division_SubProjects.DeleteOnSubmit(subProjects);
                Funs.DB.SubmitChanges();
            }
        }
    }
}