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); } }