//复制 protected void btncopy_Click(object sender, EventArgs e) { try { string TemplateID = hidtemplateid.Value.Trim(); string CopyNewName = hidCopyName.Value.Trim(); if (!string.IsNullOrEmpty(TemplateID) && !string.IsNullOrEmpty(CopyNewName)) { Guid temid = Guid.Parse(TemplateID); //复制templatemain表 BS_TEMPLATE_MAINBLL tmain = new BS_TEMPLATE_MAINBLL(); BS_TEMPLATE_MAIN tmodel = tmain.GetModel(temid); tmodel.TemplateName = CopyNewName; tmodel.Created = DateTime.Now; tmodel.Modified = DateTime.Now; tmodel.Author = BaseWebPart.GetCurrentUserLoginId(); tmodel.Editor = BaseWebPart.GetCurrentUserLoginId(); tmodel.TemplateStatus = "FREE"; string newtemplateid = tmain.Add(tmodel); if (!string.IsNullOrEmpty(newtemplateid)) { DisplayConfigComponent dcc = new DisplayConfigComponent(); #region 制表 Guid newtemplateguid = Guid.Parse(newtemplateid); //复制bscompare表 DataTable dt = dcc.GetCalListByTemplateID(temid); if (dt != null && dt.Rows.Count > 0) { BS_COMPUTEBLL cmain = new BS_COMPUTEBLL(); foreach (DataRow dr in dt.Rows) { BS_COMPUTE cmodel = cmain.GetModel(Guid.Parse(dr["id"].ToString())); if (cmodel != null) { cmodel.TemplateID = newtemplateguid; cmodel.Created = DateTime.Now; cmodel.Modified = DateTime.Now; cmodel.Author = BaseWebPart.GetCurrentUserLoginId(); cmodel.Editor = BaseWebPart.GetCurrentUserLoginId(); cmain.Add(cmodel); } } } //复制BS_CUSTOM_QUERY表 dt = tmbll.GetBS_CUSTOM_QUERYIDByTemplateID(temid); if (dt != null && dt.Rows.Count > 0) { BS_CUSTOM_QUERYBLL cbll = new BS_CUSTOM_QUERYBLL(); foreach (DataRow dr in dt.Rows) { BS_CUSTOM_QUERY cqmodel = cbll.GetModel(Guid.Parse(dr["id"].ToString())); if (cqmodel != null) { cqmodel.TemplateID = newtemplateguid; cqmodel.Created = DateTime.Now; cqmodel.Modified = DateTime.Now; cqmodel.Author = BaseWebPart.GetCurrentUserLoginId(); cqmodel.Editor = BaseWebPart.GetCurrentUserLoginId(); cbll.Add(cqmodel); } } } //复制BS_CUSTOM_QUERY表 dt = tmbll.GetBS_DEFAULT_QUERYIDByTemplateID(temid); if (dt != null && dt.Rows.Count > 0) { BS_DEFAULT_QUERYBLL dbll = new BS_DEFAULT_QUERYBLL(); foreach (DataRow dr in dt.Rows) { BS_DEFAULT_QUERY dmodel = dbll.GetModel(Guid.Parse(dr["id"].ToString())); if (dmodel != null) { dmodel.TemplateID = newtemplateguid; dmodel.Created = DateTime.Now; dmodel.Modified = DateTime.Now; dmodel.Author = BaseWebPart.GetCurrentUserLoginId(); dmodel.Editor = BaseWebPart.GetCurrentUserLoginId(); dbll.Add(dmodel); } } } //复制BS_GROUPBY表 dt = tmbll.GetBS_GROUPBYIDByTemplateID(temid); if (dt != null && dt.Rows.Count > 0) { BS_GROUPBYBLL gbll = new BS_GROUPBYBLL(); foreach (DataRow dr in dt.Rows) { BS_GROUPBY gmodel = gbll.GetModel(Guid.Parse(dr["id"].ToString())); if (gmodel != null) { gmodel.TemplateID = newtemplateguid; gmodel.Created = DateTime.Now; gmodel.Modified = DateTime.Now; gmodel.Author = BaseWebPart.GetCurrentUserLoginId(); gmodel.Editor = BaseWebPart.GetCurrentUserLoginId(); gbll.Add(gmodel); } } } //复制BS_TEMPLATE_COLUMNS表 dt = tmbll.GetBS_TEMPLATE_COLUMNSIDByTemplateID(temid); if (dt != null && dt.Rows.Count > 0) { BS_TEMPLATE_COLUMNSBLL tbll = new BS_TEMPLATE_COLUMNSBLL(); foreach (DataRow dr in dt.Rows) { BS_TEMPLATE_COLUMNS tcmodel = tbll.GetModel(Guid.Parse(dr["id"].ToString())); if (tcmodel != null) { tcmodel.TemplateID = newtemplateguid; tcmodel.Created = DateTime.Now; tcmodel.Modified = DateTime.Now; tcmodel.Author = BaseWebPart.GetCurrentUserLoginId(); tcmodel.Editor = BaseWebPart.GetCurrentUserLoginId(); tbll.Add(tcmodel); } } } //复制BS_TEMPLATE_SORT表 dt = tmbll.GetBS_TEMPLATE_SORTIDByTemplateID(temid); if (dt != null && dt.Rows.Count > 0) { BS_TEMPLATE_SORTBLL sbll = new BS_TEMPLATE_SORTBLL(); foreach (DataRow dr in dt.Rows) { BS_TEMPLATE_SORT smodel = sbll.GetModel(Guid.Parse(dr["id"].ToString())); if (smodel != null) { smodel.TemplateID = newtemplateguid; smodel.Created = DateTime.Now; smodel.Modified = DateTime.Now; smodel.Author = BaseWebPart.GetCurrentUserLoginId(); smodel.Editor = BaseWebPart.GetCurrentUserLoginId(); sbll.Add(smodel); } } } //复制BS_COMMUNICATION_MAIN表 dt = tmbll.GetBS_COMMUNICATION_MAINIDByTemplateID(temid); if (dt != null && dt.Rows.Count > 0) { BS_COMMUNICATION_MAINBLL sbll = new BS_COMMUNICATION_MAINBLL(); BS_COMMUNICATION_DETAILBLL detailbll = new BS_COMMUNICATION_DETAILBLL(); foreach (DataRow dr in dt.Rows) { Guid commid = Guid.NewGuid(); BS_COMMUNICATION_MAIN smodel = sbll.GetModel(Guid.Parse(dr["CommunicationID"].ToString())); if (smodel != null) { smodel.CommunicationID = commid; smodel.TargetTemplateID = newtemplateguid; smodel.Created = DateTime.Now; smodel.Modified = DateTime.Now; smodel.Author = BaseWebPart.GetCurrentUserLoginId(); smodel.Editor = BaseWebPart.GetCurrentUserLoginId(); sbll.Add(smodel); } DataTable dtdetail = tmbll.GetBS_COMMUNICATION_DETAILByID(Guid.Parse(dr["CommunicationID"].ToString())); if (dtdetail != null && dtdetail.Rows.Count > 0) { foreach (DataRow drd in dtdetail.Rows) { BS_COMMUNICATION_DETAIL sdmodel = detailbll.GetModel(Guid.Parse(drd["id"].ToString())); if (smodel != null) { sdmodel.ID = Guid.NewGuid(); sdmodel.CommunicationID = commid; sdmodel.Created = DateTime.Now; sdmodel.Modified = DateTime.Now; sdmodel.Author = BaseWebPart.GetCurrentUserLoginId(); sdmodel.Editor = BaseWebPart.GetCurrentUserLoginId(); detailbll.Add(sdmodel); } } } } } #endregion ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "sucadd", "layer.alert('模板复制成功!',9);", true); BindTemplateList(); } else { ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "erroradd", "layer.alert('模板复制失败!',8);", true); } } else { ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "errora", "layer.alert('未获取到模板源信息,无法复制!',8);", true); } } catch (Exception ee) { ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "erroradd", "layer.alert('模板复制失败!',8);", true); BaseComponent.Error(ee.Message); } }