Exemplo n.º 1
0
        //判断是编辑还是新增
        protected void BindColumnIfEdit(string TemplateID)
        {
            if (!string.IsNullOrEmpty(TemplateID))
            {
                DataTable datacolumn = dc.GetColumnListByTemplateID(Guid.Parse(TemplateID));
                if (datacolumn != null && datacolumn.Rows.Count > 0)
                {
                    ViewState["datacolumn"]      = datacolumn;
                    hidopertype.Value            = "edit";
                    ddlDisplayType.SelectedValue = Convert.ToString(datacolumn.Rows[0]["DiaplayType"]);//编辑时选中展示类型
                    txtDisplayType.Text          = ddlDisplayType.SelectedValue;
                    txtColumnSize.Text           = Convert.ToString(datacolumn.Rows[0]["ColumnSize"]);

                    //绑定排序信息
                    DataTable sorttable = dc.GetSortListByTemplateID(Guid.Parse(TemplateID));
                    if (sorttable != null && sorttable.Rows.Count > 0)
                    {
                        string sortinfo = string.Empty;
                        foreach (DataRow dr in sorttable.Rows)
                        {
                            sortinfo += dr["SortColumn"].ToString() + "|" + dr["Type"].ToString() + "|" + dr["Sequence"].ToString() + ";";
                        }
                        hidSortContentEdit.Value = sortinfo.TrimEnd(';');
                        //ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "setsortvalue", "bindsortlist();", true);
                    }
                    if (ddlDisplayType.SelectedValue == "COLUMN" || ddlDisplayType.SelectedValue == "ROW")
                    {
                        //绑定计算列信息
                        DataTable caltable = dc.GetCalListByTemplateID(Guid.Parse(TemplateID));
                        if (caltable != null && caltable.Rows.Count > 0)
                        {
                            string calinfo = string.Empty;
                            foreach (DataRow dr in caltable.Rows)
                            {
                                calinfo += dr["ComputeColumn"].ToString().Replace("[", "").Replace("]", "") + "|" + dr["DisplayName"].ToString() + "|" + dr["MergeColumnName"].ToString() + "|" + dr["Sequence"].ToString() + "|" + dr["DecimalCount"].ToString() + ";";
                            }
                            hidCalContentEdit.Value = calinfo.TrimEnd(';');
                            //ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "setsortvalue", "bindcallist();", true);
                        }
                    }
                    if (ddlDisplayType.SelectedValue == "ROW")
                    {
                        DataTable gbtable = dc.GetGroupByListByTemplateID(Guid.Parse(TemplateID));
                        if (gbtable != null && gbtable.Rows.Count > 0)
                        {
                            string calinfo = string.Empty;
                            foreach (DataRow dr in gbtable.Rows)
                            {
                                calinfo += dr["Columns"].ToString() + "|" + dr["ComputeColumn"].ToString() + "|" + dr["Location"].ToString() + "$";
                            }

                            hidgroupbyeditcontent.Value = calinfo.TrimEnd('$');
                            //ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "setsortvalue", "bindcallist();", true);
                        }
                    }
                    BindDataByDType();//根据展现类型绑定相应数据
                }
                else
                {
                    hidopertype.Value = "add";
                }
            }
        }
Exemplo n.º 2
0
        //复制
        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);
            }
        }