Esempio n. 1
0
        protected void lbtnSave_Click(object sender, EventArgs e)
        {
            try
            {
                string tipcontent = string.Empty;
                if (!TestConn(out tipcontent))//如果连接失败
                {
                    ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "saveconntest", "layer.alert('连接测试失败" + tipcontent + "!',8);executeconnectsur();", true);
                    return;
                }
                string   SourceName   = this.txtSourceName.Value.Trim();
                string   SourceDesc   = this.txtSourceDesc.Value.Trim();
                string   SourceIP     = this.txtSourceIP.Value.Trim();
                string   UserName     = this.txtUserName.Value.Trim();
                string   Password     = this.txtPwd.Text.Trim();
                string   DBName       = this.txtDBName.Text.Trim();
                string   ObjectType   = this.txtObjectType.Text.Trim();
                string   ObjectName   = this.txtObjectName.Text.Trim();
                string   SourceStatus = "FREE";
                DateTime Created      = DateTime.Now;
                DateTime Modified     = DateTime.Now;
                string   Author       = GetCurrentUserLoginId();
                string   Editor       = GetCurrentUserLoginId();
                CMICT.CSP.BLL.BS_DATASOURCEBLL bll = new CMICT.CSP.BLL.BS_DATASOURCEBLL();
                string rsourceid = string.Empty;
                if (hidOperType.Value == "edit")
                {
                    rsourceid = Page.Request.QueryString["sourceID"];
                }
                if (bll.GetExists(SourceName, rsourceid))
                {
                    ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "sourcenameexist", "layer.alert('已经存在此数据源名称:" + SourceName + "!请重新填写!',8);executeconnectsur();", true);
                    return;
                }

                CMICT.CSP.Model.BS_DATASOURCE model = new CMICT.CSP.Model.BS_DATASOURCE();
                model.SourceName    = SourceName;
                model.SourceDesc    = SourceDesc;
                model.SourceIP      = SourceIP;
                model.UserName      = UserName;
                model.Password      = Password;
                model.DBName        = DBName;
                model.ObjectType    = ObjectType;
                model.ObjectName    = ObjectName;
                model.SourceStatus  = SourceStatus;
                model.Created       = Created;
                model.Modified      = Modified;
                model.Author        = Author;
                model.Editor        = Editor;
                model.BigCategory   = txtCATEGORY.Text;
                model.SmallCategory = txtsmallcategory.Text;
                model.SourceCNName  = "";

                if (hidOperType.Value == "add")
                {
                    if (bll.Add(model))
                    {
                        ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "connsuca", "layer.alert('数据源新增成功!',9);", true);
                        Page.Response.Redirect("DataSourceManage.aspx");
                    }
                    else
                    {
                        ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "connerrora", "layer.alert('数据源新增失败!',8);", true);
                    }
                }
                else//修改
                {
                    Guid SourceID = Guid.Parse(Page.Request.QueryString["sourceID"]);
                    CMICT.CSP.Model.BS_DATASOURCE oldmodel = bll.GetModel(SourceID);
                    model.SourceID     = SourceID;
                    model.Author       = hidauthor.Value;
                    model.Created      = DateTime.Parse(hidcreated.Value);
                    model.SourceStatus = hidSourceStatus.Value.Trim();
                    if (bll.Update(model))
                    {
                        //更新数据源后清空相应模板的配置信息
                        if (model.DBName != oldmodel.DBName || model.SourceIP != oldmodel.SourceIP || model.UserName != oldmodel.UserName || model.Password != oldmodel.Password || model.ObjectType != oldmodel.ObjectType || model.ObjectName != oldmodel.ObjectName)
                        {
                            ConnectionConfigComponent ccc = new ConnectionConfigComponent();
                            DataTable dstable             = ccc.GetTemplateIDBySourceID(SourceID);
                            if (dstable != null && dstable.Rows.Count > 0)
                            {
                                DisplayConfigComponent  dcbll = new DisplayConfigComponent();
                                QueryConfigComponent    qcbll = new QueryConfigComponent();
                                BusinessSearchComponent bsbll = new BusinessSearchComponent();
                                //删除通信配置
                                CommunicationConfigComponent cccbll = new CommunicationConfigComponent();
                                foreach (DataRow dr in dstable.Rows)
                                {
                                    dcbll.UpdateStatusByTemplateID(dr["TemplateID"].ToString(), "DRAFT");
                                    dcbll.DeleteTemInfoByTemplateID(dr["TemplateID"].ToString());
                                    qcbll.DeleteTemInfoByTemplateID(dr["TemplateID"].ToString());
                                    //取出所有与此模板有通信关联的源模板信息
                                    DataTable SourceTemList = cccbll.GetCommunicationBySourceTemplateID(dr["TemplateID"].ToString());
                                    cccbll.DeleteCommunicationByTemplateID(dr["TemplateID"].ToString());
                                    bsbll.RefreshTemplateByGuid(dr["TemplateID"].ToString());
                                    if (SourceTemList != null && SourceTemList.Rows.Count > 0)
                                    {
                                        foreach (DataRow drr in SourceTemList.Rows)
                                        {
                                            if (!string.IsNullOrEmpty(Convert.ToString(drr["TargetTemplateID"])))
                                            {
                                                bsbll.RefreshTemplateByGuid(Convert.ToString(drr["TargetTemplateID"]));
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "connsucad", "layer.alert('数据源修改成功!');", true);
                        Page.Response.Redirect("DataSourceManage.aspx");
                    }
                    else
                    {
                        ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "connerrorae", "layer.alert('数据源修改失败!');", true);
                    }
                }
            }
            catch (Exception ee)
            {
                ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "saveerror", "layer.alert('" + ee.Message + "');", true);
            }
        }