using BLL; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace FineUIPro.Web.ProjectData { public partial class UnitWorkEdit : PageBase { private static string superId; private static string id; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { superId = Request.Params["SuperId"]; if (!string.IsNullOrEmpty(superId) && superId != null) { this.txtUnitWorkCode.Hidden = false; this.txtUnitWorkName.Hidden = false; Model.WBS_UnitWork supUnitWork = BLL.UnitWorkService.getUnitWorkByUnitWorkId(superId); if (supUnitWork != null) { this.txtSupUnitWorkCode.Text = supUnitWork.UnitWorkCode; this.txtSupUnitWorkName.Text = supUnitWork.UnitWorkName; } } else { this.txtUnitWorkCode.Hidden = true; this.txtUnitWorkName.Hidden = true; } id = Request.Params["Id"]; Model.WBS_UnitWork unitWork = BLL.UnitWorkService.getUnitWorkByUnitWorkId(id); if (unitWork != null) { if (unitWork.SuperUnitWork == "0") { this.txtUnitWorkCode.Hidden = true; this.txtUnitWorkName.Hidden = true; this.txtSupUnitWorkCode.Text = unitWork.UnitWorkCode; this.txtSupUnitWorkName.Text = unitWork.UnitWorkName; } else { this.txtUnitWorkCode.Hidden = false; this.txtUnitWorkName.Hidden = false; Model.WBS_UnitWork supUnitWork = BLL.UnitWorkService.getUnitWorkByUnitWorkId(unitWork.SuperUnitWork); if (supUnitWork != null) { this.txtSupUnitWorkCode.Text = supUnitWork.UnitWorkCode; this.txtSupUnitWorkName.Text = supUnitWork.UnitWorkName; } this.txtUnitWorkCode.Text = unitWork.UnitWorkCode; this.txtUnitWorkName.Text = unitWork.UnitWorkName; } } } } protected void btnSave_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(superId) && superId != null) { Model.WBS_UnitWork supUnitWork = BLL.UnitWorkService.getUnitWorkByUnitWorkId(superId); if (supUnitWork != null) { Model.WBS_UnitWork newUnitWork = new Model.WBS_UnitWork(); newUnitWork.UnitWorkCode = this.txtUnitWorkCode.Text.Trim(); newUnitWork.UnitWorkName = this.txtUnitWorkName.Text.Trim(); newUnitWork.SuperUnitWork = superId; newUnitWork.ProjectId = this.CurrUser.LoginProjectId; if (!string.IsNullOrEmpty(id)) { newUnitWork.UnitWorkId = id; BLL.UnitWorkService.UpdateUnitWork(newUnitWork); BLL.LogService.AddSys_Log(this.CurrUser, newUnitWork.UnitWorkId, newUnitWork.UnitWorkId, BLL.Const.UnitWorkMenuId, "修改子单位工程!"); } else { newUnitWork.UnitWorkId = SQLHelper.GetNewID(typeof(Model.WBS_UnitWork)); BLL.UnitWorkService.AddUnitWork(newUnitWork); BLL.LogService.AddSys_Log(this.CurrUser, newUnitWork.UnitWorkId, newUnitWork.UnitWorkId, BLL.Const.UnitWorkMenuId, "增加子单位工程!"); } } else { Model.WBS_UnitWork newUnitWork = new Model.WBS_UnitWork(); newUnitWork.UnitWorkCode = this.txtSupUnitWorkCode.Text.Trim(); newUnitWork.UnitWorkName = this.txtSupUnitWorkName.Text.Trim(); newUnitWork.SuperUnitWork = "0"; newUnitWork.ProjectId = this.CurrUser.LoginProjectId; if (!string.IsNullOrEmpty(id)) { newUnitWork.UnitWorkId = id; BLL.UnitWorkService.UpdateUnitWork(newUnitWork); BLL.LogService.AddSys_Log(this.CurrUser, newUnitWork.UnitWorkId, newUnitWork.UnitWorkId, BLL.Const.UnitWorkMenuId, "修改单位工程!"); var divisionProject = Funs.DB.WBS_DivisionProject.FirstOrDefault(x => x.UnitWorkId == newUnitWork.UnitWorkId); if (divisionProject == null) { #region 拷贝WBS内容 //拷贝分部及子分部 var divisions1 = from x in Funs.DB.WBS_Division where x.SuperDivisionId == null select x; foreach (var d1 in divisions1) { Model.WBS_DivisionProject newDivisionProject = new Model.WBS_DivisionProject(); newDivisionProject.DivisionProjectId = SQLHelper.GetNewID(typeof(Model.WBS_DivisionProject)); newDivisionProject.ProjectId = this.CurrUser.LoginProjectId; newDivisionProject.DivisionCode = d1.DivisionCode; newDivisionProject.DivisionName = d1.DivisionName; newDivisionProject.SortIndex = d1.SortIndex; newDivisionProject.SuperDivisionId = d1.SuperDivisionId; newDivisionProject.CNProfessionalId = d1.CNProfessionalId; newDivisionProject.UnitWorkId = newUnitWork.UnitWorkId; newDivisionProject.OldDivisionId = d1.DivisionId; newDivisionProject.SubItemType = d1.SubItemType; BLL.DivisionProjectService.AddDivisionProject(newDivisionProject); //分部 List divisions2 = (from x in Funs.DB.WBS_Division where x.SuperDivisionId == d1.DivisionId select x).ToList(); if (divisions2.Count() > 0) { this.InsertDivisionDetail(divisions2, newDivisionProject.DivisionProjectId, newUnitWork.UnitWorkId); } } //拷贝分项 var breakdowns = from x in Funs.DB.WBS_Breakdown select x; foreach (var b in breakdowns) { Model.WBS_BreakdownProject bp = new Model.WBS_BreakdownProject(); bp.BreakdownProjectId = SQLHelper.GetNewID(typeof(Model.WBS_BreakdownProject)); bp.ProjectId = this.CurrUser.LoginProjectId; bp.BreakdownCode = b.BreakdownCode; bp.BreakdownName = b.BreakdownName; bp.DivisionProjectId = (from x in Funs.DB.WBS_DivisionProject where x.OldDivisionId == b.DivisionId && x.UnitWorkId == newUnitWork.UnitWorkId select x.DivisionProjectId).FirstOrDefault(); bp.Basis = b.Basis; bp.CheckPoints = b.CheckPoints; bp.RecordAndCode = b.RecordAndCode; bp.Class = b.Class; bp.SortIndex = b.SortIndex; bp.Remark = b.Remark; bp.ModelURL = b.ModelURL; bp.UnitWorkId = newUnitWork.UnitWorkId; bp.IsAcceptance = b.IsAcceptance; bp.IsYellow = b.IsYellow; bp.WuHuan = b.WuHuan; bp.JianLi = b.JianLi; bp.FenBao = b.FenBao; bp.YeZhu = b.YeZhu; bp.SourceBreakdownId = b.BreakdownId; bp.CheckAcceptType = b.CheckAcceptType; BLL.BreakdownProjectService.AddBreakdownProject(bp); } #endregion } else { #region 拷贝建筑工程WBS内容 //拷贝分部及子分部 var divisions1 = from x in Funs.DB.WBS_Division where x.SuperDivisionId == null && x.CNProfessionalId == BLL.Const.CNProfessionalConstructId select x; foreach (var d1 in divisions1) { Model.WBS_DivisionProject newDivisionProject = new Model.WBS_DivisionProject(); newDivisionProject.DivisionProjectId = SQLHelper.GetNewID(typeof(Model.WBS_DivisionProject)); newDivisionProject.ProjectId = this.CurrUser.LoginProjectId; newDivisionProject.DivisionCode = d1.DivisionCode; newDivisionProject.DivisionName = d1.DivisionName; newDivisionProject.SortIndex = d1.SortIndex; newDivisionProject.SuperDivisionId = d1.SuperDivisionId; newDivisionProject.CNProfessionalId = d1.CNProfessionalId; newDivisionProject.UnitWorkId = newUnitWork.UnitWorkId; newDivisionProject.OldDivisionId = d1.DivisionId; BLL.DivisionProjectService.AddDivisionProject(newDivisionProject); //分部 List divisions2 = (from x in Funs.DB.WBS_Division where x.SuperDivisionId == d1.DivisionId select x).ToList(); if (divisions2.Count() > 0) { this.InsertDivisionDetail(divisions2, newDivisionProject.DivisionProjectId, newUnitWork.UnitWorkId); } } //拷贝分项 var breakdowns = from x in Funs.DB.WBS_Breakdown join y in Funs.DB.WBS_Division on x.DivisionId equals y.DivisionId where y.CNProfessionalId == BLL.Const.CNProfessionalConstructId select x; foreach (var b in breakdowns) { Model.WBS_BreakdownProject bp = new Model.WBS_BreakdownProject(); bp.BreakdownProjectId = SQLHelper.GetNewID(typeof(Model.WBS_BreakdownProject)); bp.ProjectId = this.CurrUser.LoginProjectId; bp.BreakdownCode = b.BreakdownCode; bp.BreakdownName = b.BreakdownName; bp.DivisionProjectId = (from x in Funs.DB.WBS_DivisionProject where x.OldDivisionId == b.DivisionId && x.UnitWorkId == newUnitWork.UnitWorkId select x.DivisionProjectId).FirstOrDefault(); bp.Basis = b.Basis; bp.CheckPoints = b.CheckPoints; bp.RecordAndCode = b.RecordAndCode; bp.Class = b.Class; bp.SortIndex = b.SortIndex; bp.Remark = b.Remark; bp.ModelURL = b.ModelURL; bp.UnitWorkId = newUnitWork.UnitWorkId; bp.IsAcceptance = b.IsAcceptance; bp.IsYellow = b.IsYellow; bp.WuHuan = b.WuHuan; bp.JianLi = b.JianLi; bp.FenBao = b.FenBao; bp.YeZhu = b.YeZhu; bp.SourceBreakdownId = b.BreakdownId; BLL.BreakdownProjectService.AddBreakdownProject(bp); } #endregion } Model.DataBase_DataTypeProject dp = Funs.DB.DataBase_DataTypeProject.FirstOrDefault(x => x.UnitWorkId == newUnitWork.UnitWorkId); if (dp == null) { #region 拷贝资料库内容 Model.DataBase_DataTypeProject dataTypeProject = BLL.DataTypeProjectService.GetDataTypeProjectBySourceDataTypeId(Const.DataTypeNewConstructId, this.CurrUser.LoginProjectId); List childDataTypes = BLL.DataTypeService.GetDataTypesBySuperDataTypeId(Const.DataTypeNewConstructId); if (childDataTypes.Count > 0) { if (dataTypeProject != null) { InsertDataTypeDetail(childDataTypes, dataTypeProject.DataTypeProjectId, this.CurrUser.LoginProjectId, newUnitWork.UnitWorkId); } } #endregion } } else { newUnitWork.UnitWorkId = SQLHelper.GetNewID(typeof(Model.WBS_UnitWork)); BLL.UnitWorkService.AddUnitWork(newUnitWork); BLL.LogService.AddSys_Log(this.CurrUser, newUnitWork.UnitWorkId, newUnitWork.UnitWorkId, BLL.Const.UnitWorkMenuId, "增加单位工程!"); #region 拷贝WBS内容 //拷贝分部及子分部 var divisions1 = from x in Funs.DB.WBS_Division where x.SuperDivisionId == null select x; foreach (var d1 in divisions1) { Model.WBS_DivisionProject newDivisionProject = new Model.WBS_DivisionProject(); newDivisionProject.DivisionProjectId = SQLHelper.GetNewID(typeof(Model.WBS_DivisionProject)); newDivisionProject.ProjectId = this.CurrUser.LoginProjectId; newDivisionProject.DivisionCode = d1.DivisionCode; newDivisionProject.DivisionName = d1.DivisionName; newDivisionProject.SortIndex = d1.SortIndex; newDivisionProject.SuperDivisionId = d1.SuperDivisionId; newDivisionProject.CNProfessionalId = d1.CNProfessionalId; newDivisionProject.UnitWorkId = newUnitWork.UnitWorkId; newDivisionProject.OldDivisionId = d1.DivisionId; BLL.DivisionProjectService.AddDivisionProject(newDivisionProject); //分部 List divisions2 = (from x in Funs.DB.WBS_Division where x.SuperDivisionId == d1.DivisionId select x).ToList(); if (divisions2.Count() > 0) { this.InsertDivisionDetail(divisions2, newDivisionProject.DivisionProjectId, newUnitWork.UnitWorkId); } } //拷贝分项 var breakdowns = from x in Funs.DB.WBS_Breakdown select x; foreach (var b in breakdowns) { Model.WBS_BreakdownProject bp = new Model.WBS_BreakdownProject(); bp.BreakdownProjectId = SQLHelper.GetNewID(typeof(Model.WBS_BreakdownProject)); bp.ProjectId = this.CurrUser.LoginProjectId; bp.BreakdownCode = b.BreakdownCode; bp.BreakdownName = b.BreakdownName; bp.DivisionProjectId = (from x in Funs.DB.WBS_DivisionProject where x.OldDivisionId == b.DivisionId && x.UnitWorkId == newUnitWork.UnitWorkId select x.DivisionProjectId).FirstOrDefault(); bp.Basis = b.Basis; bp.CheckPoints = b.CheckPoints; bp.RecordAndCode = b.RecordAndCode; bp.Class = b.Class; bp.SortIndex = b.SortIndex; bp.Remark = b.Remark; bp.ModelURL = b.ModelURL; bp.UnitWorkId = newUnitWork.UnitWorkId; bp.IsAcceptance = b.IsAcceptance; bp.IsYellow = b.IsYellow; bp.WuHuan = b.WuHuan; bp.JianLi = b.JianLi; bp.FenBao = b.FenBao; bp.YeZhu = b.YeZhu; bp.SourceBreakdownId = b.BreakdownId; BLL.BreakdownProjectService.AddBreakdownProject(bp); } #endregion #region 拷贝资料库内容 Model.DataBase_DataTypeProject dataTypeProject = BLL.DataTypeProjectService.GetDataTypeProjectBySourceDataTypeId(Const.DataTypeNewConstructId, this.CurrUser.LoginProjectId); List childDataTypes = BLL.DataTypeService.GetDataTypesBySuperDataTypeId(Const.DataTypeNewConstructId); if (childDataTypes.Count > 0) { if (dataTypeProject != null) { InsertDataTypeDetail(childDataTypes, dataTypeProject.DataTypeProjectId, this.CurrUser.LoginProjectId, newUnitWork.UnitWorkId); } } #endregion } } } else { Model.WBS_UnitWork newUnitWork = new Model.WBS_UnitWork(); newUnitWork.UnitWorkCode = this.txtSupUnitWorkCode.Text.Trim(); newUnitWork.UnitWorkName = this.txtSupUnitWorkName.Text.Trim(); newUnitWork.SuperUnitWork = "0"; newUnitWork.ProjectId = this.CurrUser.LoginProjectId; if (!string.IsNullOrEmpty(id)) { newUnitWork.UnitWorkId = id; BLL.UnitWorkService.UpdateUnitWork(newUnitWork); BLL.LogService.AddSys_Log(this.CurrUser, newUnitWork.UnitWorkId, newUnitWork.UnitWorkId, BLL.Const.UnitWorkMenuId, "修改单位工程!"); var divisionProject = Funs.DB.WBS_DivisionProject.FirstOrDefault(x => x.UnitWorkId == newUnitWork.UnitWorkId); if (divisionProject == null) { #region 拷贝WBS内容 //拷贝分部及子分部 var divisions1 = from x in Funs.DB.WBS_Division where x.SuperDivisionId == null select x; foreach (var d1 in divisions1) { Model.WBS_DivisionProject newDivisionProject = new Model.WBS_DivisionProject(); newDivisionProject.DivisionProjectId = SQLHelper.GetNewID(typeof(Model.WBS_DivisionProject)); newDivisionProject.ProjectId = this.CurrUser.LoginProjectId; newDivisionProject.DivisionCode = d1.DivisionCode; newDivisionProject.DivisionName = d1.DivisionName; newDivisionProject.SortIndex = d1.SortIndex; newDivisionProject.SuperDivisionId = d1.SuperDivisionId; newDivisionProject.CNProfessionalId = d1.CNProfessionalId; newDivisionProject.UnitWorkId = newUnitWork.UnitWorkId; newDivisionProject.OldDivisionId = d1.DivisionId; newDivisionProject.SubItemType = d1.SubItemType; BLL.DivisionProjectService.AddDivisionProject(newDivisionProject); //分部 List divisions2 = (from x in Funs.DB.WBS_Division where x.SuperDivisionId == d1.DivisionId select x).ToList(); if (divisions2.Count() > 0) { this.InsertDivisionDetail(divisions2, newDivisionProject.DivisionProjectId, newUnitWork.UnitWorkId); } } //拷贝分项 var breakdowns = from x in Funs.DB.WBS_Breakdown select x; foreach (var b in breakdowns) { Model.WBS_BreakdownProject bp = new Model.WBS_BreakdownProject(); bp.BreakdownProjectId = SQLHelper.GetNewID(typeof(Model.WBS_BreakdownProject)); bp.ProjectId = this.CurrUser.LoginProjectId; bp.BreakdownCode = b.BreakdownCode; bp.BreakdownName = b.BreakdownName; bp.DivisionProjectId = (from x in Funs.DB.WBS_DivisionProject where x.OldDivisionId == b.DivisionId && x.UnitWorkId == newUnitWork.UnitWorkId select x.DivisionProjectId).FirstOrDefault(); bp.Basis = b.Basis; bp.CheckPoints = b.CheckPoints; bp.RecordAndCode = b.RecordAndCode; bp.Class = b.Class; bp.SortIndex = b.SortIndex; bp.Remark = b.Remark; bp.ModelURL = b.ModelURL; bp.UnitWorkId = newUnitWork.UnitWorkId; bp.IsAcceptance = b.IsAcceptance; bp.IsYellow = b.IsYellow; bp.WuHuan = b.WuHuan; bp.JianLi = b.JianLi; bp.FenBao = b.FenBao; bp.YeZhu = b.YeZhu; bp.SourceBreakdownId = b.BreakdownId; bp.CheckAcceptType = b.CheckAcceptType; BLL.BreakdownProjectService.AddBreakdownProject(bp); } #endregion } else { #region 拷贝建筑工程WBS内容 //拷贝分部及子分部 var divisions1 = from x in Funs.DB.WBS_Division where x.SuperDivisionId == null && x.CNProfessionalId == BLL.Const.CNProfessionalConstructId select x; foreach (var d1 in divisions1) { Model.WBS_DivisionProject newDivisionProject = new Model.WBS_DivisionProject(); newDivisionProject.DivisionProjectId = SQLHelper.GetNewID(typeof(Model.WBS_DivisionProject)); newDivisionProject.ProjectId = this.CurrUser.LoginProjectId; newDivisionProject.DivisionCode = d1.DivisionCode; newDivisionProject.DivisionName = d1.DivisionName; newDivisionProject.SortIndex = d1.SortIndex; newDivisionProject.SuperDivisionId = d1.SuperDivisionId; newDivisionProject.CNProfessionalId = d1.CNProfessionalId; newDivisionProject.UnitWorkId = newUnitWork.UnitWorkId; newDivisionProject.OldDivisionId = d1.DivisionId; BLL.DivisionProjectService.AddDivisionProject(newDivisionProject); //分部 List divisions2 = (from x in Funs.DB.WBS_Division where x.SuperDivisionId == d1.DivisionId select x).ToList(); if (divisions2.Count() > 0) { this.InsertDivisionDetail(divisions2, newDivisionProject.DivisionProjectId, newUnitWork.UnitWorkId); } } //拷贝分项 var breakdowns = from x in Funs.DB.WBS_Breakdown join y in Funs.DB.WBS_Division on x.DivisionId equals y.DivisionId where y.CNProfessionalId == BLL.Const.CNProfessionalConstructId select x; foreach (var b in breakdowns) { Model.WBS_BreakdownProject bp = new Model.WBS_BreakdownProject(); bp.BreakdownProjectId = SQLHelper.GetNewID(typeof(Model.WBS_BreakdownProject)); bp.ProjectId = this.CurrUser.LoginProjectId; bp.BreakdownCode = b.BreakdownCode; bp.BreakdownName = b.BreakdownName; bp.DivisionProjectId = (from x in Funs.DB.WBS_DivisionProject where x.OldDivisionId == b.DivisionId && x.UnitWorkId == newUnitWork.UnitWorkId select x.DivisionProjectId).FirstOrDefault(); bp.Basis = b.Basis; bp.CheckPoints = b.CheckPoints; bp.RecordAndCode = b.RecordAndCode; bp.Class = b.Class; bp.SortIndex = b.SortIndex; bp.Remark = b.Remark; bp.ModelURL = b.ModelURL; bp.UnitWorkId = newUnitWork.UnitWorkId; bp.IsAcceptance = b.IsAcceptance; bp.IsYellow = b.IsYellow; bp.WuHuan = b.WuHuan; bp.JianLi = b.JianLi; bp.FenBao = b.FenBao; bp.YeZhu = b.YeZhu; bp.SourceBreakdownId = b.BreakdownId; BLL.BreakdownProjectService.AddBreakdownProject(bp); } #endregion } Model.DataBase_DataTypeProject dp = Funs.DB.DataBase_DataTypeProject.FirstOrDefault(x => x.UnitWorkId == newUnitWork.UnitWorkId); if (dp == null) { #region 拷贝资料库内容 Model.DataBase_DataTypeProject dataTypeProject = BLL.DataTypeProjectService.GetDataTypeProjectBySourceDataTypeId(Const.DataTypeNewConstructId, this.CurrUser.LoginProjectId); List childDataTypes = BLL.DataTypeService.GetDataTypesBySuperDataTypeId(Const.DataTypeNewConstructId); if (childDataTypes.Count > 0) { if (dataTypeProject != null) { InsertDataTypeDetail(childDataTypes, dataTypeProject.DataTypeProjectId, this.CurrUser.LoginProjectId, newUnitWork.UnitWorkId); } } #endregion } } else { newUnitWork.UnitWorkId = SQLHelper.GetNewID(typeof(Model.WBS_UnitWork)); BLL.UnitWorkService.AddUnitWork(newUnitWork); BLL.LogService.AddSys_Log(this.CurrUser, newUnitWork.UnitWorkId, newUnitWork.UnitWorkId, BLL.Const.UnitWorkMenuId, "增加单位工程!"); #region 拷贝WBS内容 //拷贝分部及子分部 var divisions1 = from x in Funs.DB.WBS_Division where x.SuperDivisionId == null select x; foreach (var d1 in divisions1) { Model.WBS_DivisionProject newDivisionProject = new Model.WBS_DivisionProject(); newDivisionProject.DivisionProjectId = SQLHelper.GetNewID(typeof(Model.WBS_DivisionProject)); newDivisionProject.ProjectId = this.CurrUser.LoginProjectId; newDivisionProject.DivisionCode = d1.DivisionCode; newDivisionProject.DivisionName = d1.DivisionName; newDivisionProject.SortIndex = d1.SortIndex; newDivisionProject.SuperDivisionId = d1.SuperDivisionId; newDivisionProject.CNProfessionalId = d1.CNProfessionalId; newDivisionProject.UnitWorkId = newUnitWork.UnitWorkId; newDivisionProject.OldDivisionId = d1.DivisionId; BLL.DivisionProjectService.AddDivisionProject(newDivisionProject); //分部 List divisions2 = (from x in Funs.DB.WBS_Division where x.SuperDivisionId == d1.DivisionId select x).ToList(); if (divisions2.Count() > 0) { this.InsertDivisionDetail(divisions2, newDivisionProject.DivisionProjectId, newUnitWork.UnitWorkId); } } //拷贝分项 var breakdowns = from x in Funs.DB.WBS_Breakdown select x; foreach (var b in breakdowns) { Model.WBS_BreakdownProject bp = new Model.WBS_BreakdownProject(); bp.BreakdownProjectId = SQLHelper.GetNewID(typeof(Model.WBS_BreakdownProject)); bp.ProjectId = this.CurrUser.LoginProjectId; bp.BreakdownCode = b.BreakdownCode; bp.BreakdownName = b.BreakdownName; bp.DivisionProjectId = (from x in Funs.DB.WBS_DivisionProject where x.OldDivisionId == b.DivisionId && x.UnitWorkId == newUnitWork.UnitWorkId select x.DivisionProjectId).FirstOrDefault(); bp.Basis = b.Basis; bp.CheckPoints = b.CheckPoints; bp.RecordAndCode = b.RecordAndCode; bp.Class = b.Class; bp.SortIndex = b.SortIndex; bp.Remark = b.Remark; bp.ModelURL = b.ModelURL; bp.UnitWorkId = newUnitWork.UnitWorkId; bp.IsAcceptance = b.IsAcceptance; bp.IsYellow = b.IsYellow; bp.WuHuan = b.WuHuan; bp.JianLi = b.JianLi; bp.FenBao = b.FenBao; bp.YeZhu = b.YeZhu; bp.SourceBreakdownId = b.BreakdownId; BLL.BreakdownProjectService.AddBreakdownProject(bp); } #endregion #region 拷贝资料库内容 Model.DataBase_DataTypeProject dataTypeProject = BLL.DataTypeProjectService.GetDataTypeProjectBySourceDataTypeId(Const.DataTypeNewConstructId, this.CurrUser.LoginProjectId); List childDataTypes = BLL.DataTypeService.GetDataTypesBySuperDataTypeId(Const.DataTypeNewConstructId); if (childDataTypes.Count > 0) { if (dataTypeProject != null) { InsertDataTypeDetail(childDataTypes, dataTypeProject.DataTypeProjectId, this.CurrUser.LoginProjectId, newUnitWork.UnitWorkId); } } #endregion } } PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } /// /// 循环拷贝子级分部 /// /// private void InsertDivisionDetail(List divisions, string superDivisionId, string unitWorkId) { foreach (var d in divisions) { Model.WBS_DivisionProject newDivisionProject = new Model.WBS_DivisionProject(); newDivisionProject.DivisionProjectId = SQLHelper.GetNewID(typeof(Model.WBS_DivisionProject)); newDivisionProject.ProjectId = this.CurrUser.LoginProjectId; newDivisionProject.DivisionCode = d.DivisionCode; newDivisionProject.DivisionName = d.DivisionName; newDivisionProject.SortIndex = d.SortIndex; newDivisionProject.SuperDivisionId = superDivisionId; newDivisionProject.CNProfessionalId = d.CNProfessionalId; newDivisionProject.UnitWorkId = unitWorkId; newDivisionProject.OldDivisionId = d.DivisionId; newDivisionProject.SubItemType = d.SubItemType; BLL.DivisionProjectService.AddDivisionProject(newDivisionProject); //子级分部 List divisions2 = (from x in Funs.DB.WBS_Division where x.SuperDivisionId == d.DivisionId select x).ToList(); if (divisions2.Count() > 0) { this.InsertDivisionDetail(divisions2, newDivisionProject.DivisionProjectId, unitWorkId); } } } /// /// 循环拷贝子级类别 /// /// private void InsertDataTypeDetail(List dataTypes, string superDataTypeId, string projectId, string unitWorkId) { foreach (var d in dataTypes) { Model.DataBase_DataTypeProject newDataTypeProject = new Model.DataBase_DataTypeProject(); newDataTypeProject.DataTypeProjectId = SQLHelper.GetNewID(typeof(Model.DataBase_DataTypeProject)); newDataTypeProject.ProjectId = projectId; newDataTypeProject.DataTypeCode = d.DataTypeCode; newDataTypeProject.DataTypeName = d.DataTypeName; newDataTypeProject.SuperDataTypeId = superDataTypeId; newDataTypeProject.SortIndex = d.SortIndex; newDataTypeProject.Pages = d.Pages; newDataTypeProject.Remark = d.Remark; newDataTypeProject.IsRelatedWBS = d.IsRelatedWBS; newDataTypeProject.SourceDataTypeId = d.DataTypeId; newDataTypeProject.UnitWorkId = unitWorkId; BLL.DataTypeProjectService.AddDataTypeProject(newDataTypeProject); List childDataTypes = BLL.DataTypeService.GetDataTypesBySuperDataTypeId(d.DataTypeId); if (childDataTypes.Count > 0) { InsertDataTypeDetail(childDataTypes, newDataTypeProject.DataTypeProjectId, projectId, unitWorkId); } } } } }