using DevExpress.XtraEditors.Repository; using DevExpress.XtraGrid.Columns; using DevExpress.XtraGrid.Views.Grid; using Kdbndp; using Lskj.Business.Impl; using Lskj.Control; using Lskj.Core; using Lskj.Util; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.Common; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Lskj.PubApiSetModule { public partial class FrmMain : BaseForm { public DynamicApiSetModel Model; public DbDataAdapter SendMainAdapterObj; public DbDataAdapter SendDetailAdapterObj; public DbDataAdapter GetMainAdapterObj; public DbDataAdapter GetDetailAdapterObj; public FrmMain() { InitializeComponent(); this.Load += OnFrmMainLoad; } /// /// 初始化时 /// /// /// private void OnFrmMainLoad(object sender, EventArgs e) { InitlizeSpiltLocation(); InitEventApiTable(); InitEventApiPmsTable(); InitToLsEventApiTable(); InitToLsEventApiPmsTable(); InitToLsEventApiDtlsTable(); InitToLsEventApiDtlsPmsTable(); InitEventApiLogTable(); InitEventApiLogErrorTable(); InitToLsEventApiLogTable(); InitEvents(); InitColumnsData(); InitApiTabDataSource(); InitGetApiTabDataSource(); } /// /// 初始化事件 /// private void InitEvents() { splitControlSend.SplitterPositionChanged += OnSplitContainerPositionChanged; splitControlGet.SplitterPositionChanged += OnSplitContainerPositionChanged; #region send sendMainView.CustomColumnDisplayText += OnCustomColumnDisplayText; sendDetailView.CustomColumnDisplayText += OnCustomColumnDisplayText; sendMainView.InitNewRow += OnViewInitNewRow; sendDetailView.InitNewRow += OnViewInitNewRow; sendMainView.FocusedRowObjectChanged += OnFocusedRowObjectChanged; #endregion #region get getMainView.CustomColumnDisplayText += OnCustomColumnDisplayText; getDetailView.CustomColumnDisplayText += OnCustomColumnDisplayText; getMainView.InitNewRow += OnViewInitNewRow; getDetailView.InitNewRow += OnViewInitNewRow; getMainView.FocusedRowObjectChanged += OnFocusedRowObjectChanged; #endregion #region ADD btnApiAdd.Click += OnBtnAddClick; btnPmsAdd.Click += OnBtnAddClick; btnGetApiAdd.Click += OnBtnAddClick; btnGetApiPmsAdd.Click += OnBtnAddClick; #endregion #region SAVE btnApiSave.Click += OnBtnSaveClick; btnPmsSave.Click += OnBtnSaveClick; btnGetApiSave.Click += OnBtnSaveClick; btnGetApiPmsSave.Click += OnBtnSaveClick; #endregion #region DELETE btnApiDelete.Click += OnBtnDeleteClick; btnPmsDelete.Click += OnBtnDeleteClick; btnGetApiDelete.Click += OnBtnDeleteClick; btnGetApiPmsDelete.Click += OnBtnDeleteClick; #endregion #region REFRESH btnApiRefresh.Click += OnBtnRefreshClick; btnPmsRefresh.Click += OnBtnRefreshClick; btnGetApiRefresh.Click += OnBtnRefreshClick; btnGetApiPmsRefresh.Click += OnBtnRefreshClick; #endregion } /// /// 添加按钮点击 /// /// /// private void OnBtnAddClick(object sender, EventArgs e) { if (sender == btnApiAdd) { sendMainView.AddNewRow(); } else if (sender == btnPmsAdd) { sendDetailView.AddNewRow(); } else if (sender == btnGetApiAdd) { getMainView.AddNewRow(); } else if (sender == btnGetApiPmsAdd) { getDetailView.AddNewRow(); } } /// /// 删除按钮点击 /// /// /// private void OnBtnDeleteClick(object sender, EventArgs e) { if (sender == btnApiDelete) { sendMainView.DeleteRow(sendMainView.FocusedRowHandle); } else if (sender == btnPmsDelete) { sendDetailView.DeleteRow(sendDetailView.FocusedRowHandle); } else if (sender == btnGetApiDelete) { getMainView.DeleteRow(getMainView.FocusedRowHandle); } else if (sender == btnGetApiPmsDelete) { getDetailView.DeleteRow(getDetailView.FocusedRowHandle); } } /// /// 保存按钮点击 /// /// /// private void OnBtnSaveClick(object sender, EventArgs e) { if (sender == btnApiSave) { if (sendGcMain.DataSource != null && sendGcMain.DataSource is DataTable sourceTable) { SendMainAdapterObj.Update(sourceTable); int rowHandle = sendMainView.FocusedRowHandle; InitApiTabDataSource(); sendMainView.FocusedRowHandle = rowHandle; } } else if (sender == btnPmsSave) { if (sendGcDetail.DataSource != null && sendGcDetail.DataSource is DataTable sourceTable) { SendDetailAdapterObj.Update(sourceTable); DataRow focusedRow = sendMainView.GetFocusedDataRow(); string apiId = focusedRow["id"] + ""; int rowHandle = sendDetailView.FocusedRowHandle; InitApiPmsTabDataSource(apiId); sendDetailView.FocusedRowHandle = rowHandle; } } else if (sender == btnGetApiSave) { if (getGcMain.DataSource != null && getGcMain.DataSource is DataTable sourceTable) { GetMainAdapterObj.Update(sourceTable); DataRow focusedRow = getMainView.GetFocusedDataRow(); string apiId = focusedRow["id"] + ""; int rowHandle = getMainView.FocusedRowHandle; InitGetApiTabDataSource(); getMainView.FocusedRowHandle = rowHandle; } } else if (sender == btnGetApiPmsSave) { if (getGcDetail.DataSource != null && getGcDetail.DataSource is DataTable sourceTable) { GetDetailAdapterObj.Update(sourceTable); DataRow focusedRow = getDetailView.GetFocusedDataRow(); string apiId = focusedRow["id"] + ""; int rowHandle = getDetailView.FocusedRowHandle; InitGetApiPmsTabDataSource(apiId); getDetailView.FocusedRowHandle = rowHandle; } } } /// /// 刷新数据 /// /// /// private void OnBtnRefreshClick(object sender, EventArgs e) { if (sender == btnApiRefresh) { int rowHandle = sendMainView.FocusedRowHandle; InitApiTabDataSource(); sendMainView.FocusedRowHandle = rowHandle; } else if (sender == btnPmsRefresh) { DataRow focusedRow = sendMainView.GetFocusedDataRow(); if (focusedRow != null) { string apiId = focusedRow["id"] + ""; int rowHandle = sendDetailView.FocusedRowHandle; InitApiPmsTabDataSource(apiId); sendDetailView.FocusedRowHandle = rowHandle; } } else if (sender == btnGetApiRefresh) { int rowHandle = getMainView.FocusedRowHandle; InitGetApiTabDataSource(); getMainView.FocusedRowHandle = rowHandle; } else if (sender == btnGetApiPmsRefresh) { DataRow focusedRow = getDetailView.GetFocusedDataRow(); if (focusedRow != null) { string apiId = focusedRow["id"] + ""; int rowHandle = getDetailView.FocusedRowHandle; InitGetApiPmsTabDataSource(apiId); getDetailView.FocusedRowHandle = rowHandle; } } } /// /// 选中行改变时 /// /// /// private void OnFocusedRowObjectChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowObjectChangedEventArgs e) { if (sender == sendMainView) { if (e.Row is DataRowView dataRowView) { DataRow focusedRow = dataRowView.Row; string apiId = focusedRow["id"] + ""; InitApiPmsTabDataSource(apiId); } } else if (sender == getMainView) { if (e.Row is DataRowView dataRowView) { DataRow focusedRow = dataRowView.Row; string apiId = focusedRow["id"] + ""; InitGetApiPmsTabDataSource(apiId); } } } /// /// 显示下拉框的值 /// /// /// private void OnCustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e) { if (e.Column.ColumnEdit is RepositoryItemComboBox repositoryItemCombo) { ComBoxModel comBoxModel = repositoryItemCombo.Items.Cast().Where(n => (n.Value + "").Equals(e.Value + "")).FirstOrDefault(); if (comBoxModel != null) { e.DisplayText = comBoxModel.ToString(); } } } /// /// 添加行时 /// /// /// private void OnViewInitNewRow(object sender, InitNewRowEventArgs e) { GridView gridView = (GridView)sender; if (gridView == sendMainView) { } else if (gridView == sendDetailView) { DataRow parentRow = sendMainView.GetFocusedDataRow(); DataRow dataRow = gridView.GetDataRow(e.RowHandle); dataRow["apiId"] = parentRow["id"]; } if (gridView == getMainView) { } else if (gridView == getDetailView) { DataRow parentRow = getMainView.GetFocusedDataRow(); DataRow dataRow = gridView.GetDataRow(e.RowHandle); dataRow["mainId"] = parentRow["id"]; } } /// /// 初始化接口主表数据源 /// private void InitApiTabDataSource() { //SendMain SendMainAdapterObj = BaseImpl.GetAdapterResult("select * from p_systemeventapitab"); DataTable sendMainTable = new DataTable(); DbCommandBuilder dbCommandBuilder = SqlHelper.dbFactory.CreateCommandBuilder(); dbCommandBuilder.DataAdapter = SendMainAdapterObj; SendMainAdapterObj.Fill(sendMainTable); sendGcMain.DataSource = sendMainTable; } /// /// 初始化接口明细表数据源 /// private void InitApiPmsTabDataSource(string apiId) { //SendDetail SendDetailAdapterObj = BaseImpl.GetAdapterResult($"select * from p_systemeventapipmstab where apiid = '{apiId}'"); DataTable sendDetailTable = new DataTable(); DbCommandBuilder dbCommandBuilder = SqlHelper.dbFactory.CreateCommandBuilder(); dbCommandBuilder.DataAdapter = SendDetailAdapterObj; SendDetailAdapterObj.Fill(sendDetailTable); sendGcDetail.DataSource = sendDetailTable; } /// /// 初始化朗速接口主表数据源 /// private void InitGetApiTabDataSource() { //SendMain GetMainAdapterObj = BaseImpl.GetAdapterResult("select * from P_SystemToLsApiTab"); DataTable getMainTable = new DataTable(); DbCommandBuilder dbCommandBuilder = SqlHelper.dbFactory.CreateCommandBuilder(); dbCommandBuilder.DataAdapter = GetMainAdapterObj; GetMainAdapterObj.Fill(getMainTable); getGcMain.DataSource = getMainTable; } /// /// 初始化朗速接口参数数据源 /// private void InitGetApiPmsTabDataSource(string apiId) { //SendDetail GetDetailAdapterObj = BaseImpl.GetAdapterResult($"select * from P_SystemToLsApiPmsTab where mainId = '{apiId}'"); DataTable getDetailTable = new DataTable(); DbCommandBuilder dbCommandBuilder = SqlHelper.dbFactory.CreateCommandBuilder(); dbCommandBuilder.DataAdapter = GetDetailAdapterObj; GetDetailAdapterObj.Fill(getDetailTable); getGcDetail.DataSource = getDetailTable; } /// /// 初始化表格列 /// private void InitColumnsData() { #region 主表 idColumn.OptionsColumn.AllowEdit = false; //reqDataType reqDataTypeComboBox.Items.Add(new ComBoxModel() { Value = 1, Text = "Json" }); reqDataTypeComboBox.Items.Add(new ComBoxModel() { Value = 0, Text = "Text" }); reqDataTypeComboBox.Items.Add(new ComBoxModel() { Value = 2, Text = "Xml" }); //resDataType resDataTypeComboBox.Items.Add(new ComBoxModel() { Value = 1, Text = "Json" }); resDataTypeComboBox.Items.Add(new ComBoxModel() { Value = 0, Text = "Text" }); resDataTypeComboBox.Items.Add(new ComBoxModel() { Value = 2, Text = "Xml" }); //method methodComboBox.Items.Add(new ComBoxModel() { Value = 0, Text = "Get" }); methodComboBox.Items.Add(new ComBoxModel() { Value = 1, Text = "Post" }); //actionType actionTypeComboBox.Items.Add(new ComBoxModel() { Value = 0, Text = "手动触发" }); actionTypeComboBox.Items.Add(new ComBoxModel() { Value = 1, Text = "循环触发" }); //eType eTypeComboBox.Items.Add(new ComBoxModel() { Value = "AfterModuleDataChange", Text = "数据改变后" }); eTypeComboBox.Items.Add(new ComBoxModel() { Value = "BeforeModuleDataChange", Text = "数据改变前" }); eTypeComboBox.Items.Add(new ComBoxModel() { Value = "AfterModuleContextMenu", Text = "右键执行后" }); eTypeComboBox.Items.Add(new ComBoxModel() { Value = "BeforeModuleContextMenu", Text = "右键执行前" }); eTypeComboBox.Items.Add(new ComBoxModel() { Value = "AfterModuleAuditStateChange", Text = "审核执行后" }); eTypeComboBox.Items.Add(new ComBoxModel() { Value = "BeforeModuleAuditStateChange", Text = "审核执行前" }); eTypeComboBox.Items.Add(new ComBoxModel() { Value = "BeforeUploadFile", Text = "文件上传前" }); eTypeComboBox.Items.Add(new ComBoxModel() { Value = "AfterUploadFile", Text = "文件上传后" }); //tokenType tokenTypeComboBox.Items.Add(new ComBoxModel() { Value = 0, Text = "Token文本" }); tokenTypeComboBox.Items.Add(new ComBoxModel() { Value = 1, Text = "Cookie" }); //eTypeCode eTypeCodeComboBox.Items.Add(new ComBoxModel() { Value = 1, Text = "新增" }); eTypeCodeComboBox.Items.Add(new ComBoxModel() { Value = 2, Text = "更新" }); eTypeCodeComboBox.Items.Add(new ComBoxModel() { Value = 3, Text = "删除" }); eTypeCodeComboBox.Items.Add(new ComBoxModel() { Value = 21, Text = "提交审核" }); eTypeCodeComboBox.Items.Add(new ComBoxModel() { Value = 31, Text = "审核" }); eTypeCodeComboBox.Items.Add(new ComBoxModel() { Value = 32, Text = "反审" }); //pmsType pmsTypeComboBox.Items.Add(new ComBoxModel() { Value = 1, Text = "老版" }); pmsTypeComboBox.Items.Add(new ComBoxModel() { Value = 2, Text = "新版" }); //allowShowMsg allowShowMsgComboBox.Items.Add(new ComBoxModel() { Value = 0, Text = "不提示" }); allowShowMsgComboBox.Items.Add(new ComBoxModel() { Value = 1, Text = "提示" }); //disableTag disableTagComboBox.Items.Add(new ComBoxModel() { Value = 1, Text = "启用" }); disableTagComboBox.Items.Add(new ComBoxModel() { Value = 0, Text = "禁用" }); #endregion #region 明细表 pmsIdColumn.OptionsColumn.AllowEdit = false; //pmType pmTypeComboBox.Items.Add(new ComBoxModel() { Value = 0, Text = "发送参数" }); pmTypeComboBox.Items.Add(new ComBoxModel() { Value = 2, Text = "Header参数" }); pmTypeComboBox.Items.Add(new ComBoxModel() { Value = 1, Text = "接收参数" }); //valueType valueTypeComboBox.Items.Add(new ComBoxModel() { Value = 0, Text = "json值" }); valueTypeComboBox.Items.Add(new ComBoxModel() { Value = 1, Text = "json对象" }); valueTypeComboBox.Items.Add(new ComBoxModel() { Value = 2, Text = "json数组" }); valueTypeComboBox.Items.Add(new ComBoxModel() { Value = 3, Text = "文件" }); //valueDataType valueDataTypeComboBox.Items.Add(new ComBoxModel() { Value = 0, Text = "文本" }); valueDataTypeComboBox.Items.Add(new ComBoxModel() { Value = 1, Text = "整数" }); valueDataTypeComboBox.Items.Add(new ComBoxModel() { Value = 2, Text = "小数" }); //allowNull allowNullComboBox.Items.Add(new ComBoxModel() { Value = 1, Text = "必填" }); allowNullComboBox.Items.Add(new ComBoxModel() { Value = 0, Text = "非必填" }); //valueEncryptType valueEncryptTypeComboBox.Items.Add(new ComBoxModel() { Value = 1, Text = "UTF8MD5小写" }); valueEncryptTypeComboBox.Items.Add(new ComBoxModel() { Value = 2, Text = "UTF8MD5大写" }); valueEncryptTypeComboBox.Items.Add(new ComBoxModel() { Value = 3, Text = "URL地址加密" }); valueEncryptTypeComboBox.Items.Add(new ComBoxModel() { Value = 4, Text = "URL文件Base64" }); valueEncryptTypeComboBox.Items.Add(new ComBoxModel() { Value = 5, Text = "RSA" }); valueEncryptTypeComboBox.Items.Add(new ComBoxModel() { Value = 101, Text = "航天凯特特殊加密" }); valueEncryptTypeComboBox.Items.Add(new ComBoxModel() { Value = 102, Text = "SHA256ToBase64" }); valueEncryptTypeComboBox.Items.Add(new ComBoxModel() { Value = 103, Text = "道宏发票接口特殊加密" }); valueEncryptTypeComboBox.Items.Add(new ComBoxModel() { Value = 104, Text = "SHA256ToBit" }); #endregion #region 朗速接口主表 getIdColumn.OptionsColumn.AllowEdit = false; //IsLogin getIsLoginComboBox.Items.Add(new ComBoxModel() { Value = 1, Text = "启用验证" }); getIsLoginComboBox.Items.Add(new ComBoxModel() { Value = 0, Text = "禁止验证" }); //actionType getActionTypeComboBox.Items.Add(new ComBoxModel() { Value = 1, Text = "新增/更新" }); getActionTypeComboBox.Items.Add(new ComBoxModel() { Value = 2, Text = "删除" }); getActionTypeComboBox.Items.Add(new ComBoxModel() { Value = 3, Text = "自定义" }); #endregion #region 朗速接口参数表 getPmsDisInsertComboBox.Items.Add(new ComBoxModel() { Value = 1, Text = "禁止插入" }); getPmsDisInsertComboBox.Items.Add(new ComBoxModel() { Value = 0, Text = "允许插入" }); getPmsDisUpdateComboBox.Items.Add(new ComBoxModel() { Value = 1, Text = "禁止更新" }); getPmsDisUpdateComboBox.Items.Add(new ComBoxModel() { Value = 0, Text = "允许更新" }); #endregion sendMainView.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.MouseDown; foreach (GridColumn gridColumn in sendMainView.Columns) { if (gridColumn.ColumnEdit is RepositoryItemComboBox repositoryItemCombo) { repositoryItemCombo.ParseEditValue += (s, e) => { if (e.Value is ComBoxModel comBoxModel) { e.Value = comBoxModel.Value; e.Handled = true; } }; repositoryItemCombo.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor; } } sendDetailView.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.MouseDown; foreach (GridColumn gridColumn in sendDetailView.Columns) { if (gridColumn.ColumnEdit is RepositoryItemComboBox repositoryItemCombo) { repositoryItemCombo.ParseEditValue += (s, e) => { if (e.Value is ComBoxModel comBoxModel) { e.Value = comBoxModel.Value; e.Handled = true; } }; repositoryItemCombo.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor; } } getMainView.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.MouseDown; foreach (GridColumn gridColumn in getMainView.Columns) { if (gridColumn.ColumnEdit is RepositoryItemComboBox repositoryItemCombo) { repositoryItemCombo.ParseEditValue += (s, e) => { if (e.Value is ComBoxModel comBoxModel) { e.Value = comBoxModel.Value; e.Handled = true; } }; repositoryItemCombo.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor; } } getDetailView.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.MouseDown; foreach (GridColumn gridColumn in getDetailView.Columns) { if (gridColumn.ColumnEdit is RepositoryItemComboBox repositoryItemCombo) { repositoryItemCombo.ParseEditValue += (s, e) => { if (e.Value is ComBoxModel comBoxModel) { e.Value = comBoxModel.Value; e.Handled = true; } }; repositoryItemCombo.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor; } } } #region 构建数据表 /// /// 接口主表 /// /// private bool InitEventApiTable() { try { Dictionary colDic = new Dictionary(); colDic.Add("title", "varchar(200)"); colDic.Add("url", "varchar(1000)"); colDic.Add("dllcoid", "varchar(100)"); colDic.Add("contextMenuId", "int"); colDic.Add("reqDataType", "int"); colDic.Add("resDataType", "int"); colDic.Add("method", "int"); colDic.Add("datasource", "varchar(8000)"); colDic.Add("actionType", "int"); colDic.Add("actionDelay", "int"); colDic.Add("eType", "varchar(1000)"); colDic.Add("finshAction", "varchar(8000)"); colDic.Add("orderValue", "int"); colDic.Add("isSucceedCond", "varchar(100)"); colDic.Add("isTokenErrorCond", "varchar(100)"); colDic.Add("tokenApiId", "int"); colDic.Add("tokenType", "int"); colDic.Add("dynamicToken", "varchar(2000)"); colDic.Add("pmsType", "int"); colDic.Add("allowShowMsg", "int"); colDic.Add("ContentType", "varchar(200)"); colDic.Add("eTypeCode", "int"); colDic.Add("disableTag", "int"); colDic.Add("customMsg", "varchar(500)"); string isExitApiTab = "select top 1 * from sysObjects where Id=OBJECT_ID(N'p_systemEventApiTab') and xtype='U'"; DataTable apiTab = SqlHelper.ExecuteDataTable(isExitApiTab); if (apiTab.Rows.Count > 0)//存在日志表 { DataTable columnsTab = SqlHelper.ExecuteDataTable(string.Format("select name from syscolumns where id=object_id('p_systemEventApiTab')")); foreach (KeyValuePair colunmField in colDic) { DataRow[] dataRows = columnsTab.Select().Where(n => (n["name"] + "").Equals(colunmField.Key)).ToArray(); if (dataRows.Length == 0) { string addColSql = string.Format("alter table p_systemEventApiTab add {0} {1}", colunmField.Key, colunmField.Value); SqlHelper.ExecuteNonQuery(addColSql);//添加列 } } } else { string createTabSql = "create table p_systemEventApiTab(id bigint IDENTITY(1,1) PRIMARY KEY NOT NULL,{0})"; string createCol = string.Empty; foreach (KeyValuePair colunmField in colDic) { createCol += string.Format("{0} {1},", colunmField.Key, colunmField.Value); } createTabSql = string.Format(createTabSql, createCol.TrimEnd(',')); SqlHelper.ExecuteNonQuery(createTabSql);//创建表 } return true; } catch (Exception) { return false; } } /// /// 接口参数表 /// private bool InitEventApiPmsTable() { try { Dictionary colDic = new Dictionary(); colDic.Add("apiId", "int"); colDic.Add("title", "varchar(200)"); colDic.Add("pmType", "int"); colDic.Add("valueType", "int"); colDic.Add("pmsDataSource", "varchar(8000)"); colDic.Add("name", "varchar(100)"); colDic.Add("value", "varchar(8000)"); colDic.Add("valueDataType", "int"); colDic.Add("unionPmsId", "int"); colDic.Add("valueEncryptType", "int"); colDic.Add("encryptKey", "varchar(100)"); colDic.Add("allowNull", "int"); string isExitApiTab = "select top 1 * from sysObjects where Id=OBJECT_ID(N'P_systemEventApiPmsTab') and xtype='U'"; DataTable apiTab = SqlHelper.ExecuteDataTable(isExitApiTab); if (apiTab.Rows.Count > 0)//存在日志表 { DataTable columnsTab = SqlHelper.ExecuteDataTable(string.Format("select name from syscolumns where id=object_id('P_systemEventApiPmsTab')")); foreach (KeyValuePair colunmField in colDic) { DataRow[] dataRows = columnsTab.Select().Where(n => (n["name"] + "").Equals(colunmField.Key)).ToArray(); if (dataRows.Length == 0) { string addColSql = string.Format("alter table P_systemEventApiPmsTab add {0} {1}", colunmField.Key, colunmField.Value); SqlHelper.ExecuteNonQuery(addColSql);//添加列 } } } else { string createTabSql = "create table P_systemEventApiPmsTab(id bigint IDENTITY(1,1) PRIMARY KEY NOT NULL,{0})"; string createCol = string.Empty; foreach (KeyValuePair colunmField in colDic) { createCol += string.Format("{0} {1},", colunmField.Key, colunmField.Value); } createTabSql = string.Format(createTabSql, createCol.TrimEnd(',')); SqlHelper.ExecuteNonQuery(createTabSql);//创建表 } return true; } catch (Exception) { return false; } } /// /// 朗速接口主表 /// private bool InitToLsEventApiTable() { try { Dictionary colDic = new Dictionary(); colDic.Add("tableName", "varchar(100)"); colDic.Add("actionType", "int"); colDic.Add("primaryKey", "varchar(200)"); colDic.Add("outputKey", "varchar(1000)"); colDic.Add("afterSql", "varchar(MAX)"); colDic.Add("isLogin", "int"); colDic.Add("description", "varchar(50)"); string isExitApiTab = "select top 1 * from sysObjects where Id=OBJECT_ID(N'P_SystemToLsApiTab') and xtype='U'"; DataTable apiTab = SqlHelper.ExecuteDataTable(isExitApiTab); if (apiTab.Rows.Count > 0)//存在日志表 { DataTable columnsTab = SqlHelper.ExecuteDataTable(string.Format("select name from syscolumns where id=object_id('P_SystemToLsApiTab')")); foreach (KeyValuePair colunmField in colDic) { DataRow[] dataRows = columnsTab.Select().Where(n => (n["name"] + "").Equals(colunmField.Key)).ToArray(); if (dataRows.Length == 0) { string addColSql = string.Format("alter table P_SystemToLsApiTab add {0} {1}", colunmField.Key, colunmField.Value); SqlHelper.ExecuteNonQuery(addColSql);//添加列 } } } else { string createTabSql = "create table P_SystemToLsApiTab(id bigint IDENTITY(1,1) PRIMARY KEY NOT NULL,{0})"; string createCol = string.Empty; foreach (KeyValuePair colunmField in colDic) { createCol += string.Format("{0} {1},", colunmField.Key, colunmField.Value); } createTabSql = string.Format(createTabSql, createCol.TrimEnd(',')); SqlHelper.ExecuteNonQuery(createTabSql);//创建表 } return true; } catch (Exception) { return false; } } /// /// 朗速接口参数表 /// private bool InitToLsEventApiPmsTable() { try { Dictionary colDic = new Dictionary(); colDic.Add("mainId", "int"); colDic.Add("fileName", "varchar(500)"); colDic.Add("disInsert", "int"); colDic.Add("disUpdate", "int"); colDic.Add("defaultValue", "varchar(500)"); //colDic.Add("conditionInsert", "varchar(1000)"); //colDic.Add("condition", "varchar(1000)"); string isExitApiTab = "select top 1 * from sysObjects where Id=OBJECT_ID(N'P_SystemToLsApiPmsTab') and xtype='U'"; DataTable apiTab = SqlHelper.ExecuteDataTable(isExitApiTab); if (apiTab.Rows.Count > 0)//存在日志表 { DataTable columnsTab = SqlHelper.ExecuteDataTable(string.Format("select name from syscolumns where id=object_id('P_SystemToLsApiPmsTab')")); foreach (KeyValuePair colunmField in colDic) { DataRow[] dataRows = columnsTab.Select().Where(n => (n["name"] + "").Equals(colunmField.Key)).ToArray(); if (dataRows.Length == 0) { string addColSql = string.Format("alter table P_SystemToLsApiPmsTab add {0} {1}", colunmField.Key, colunmField.Value); SqlHelper.ExecuteNonQuery(addColSql);//添加列 } } } else { string createTabSql = "create table P_SystemToLsApiPmsTab(id bigint IDENTITY(1,1) PRIMARY KEY NOT NULL,{0})"; string createCol = string.Empty; foreach (KeyValuePair colunmField in colDic) { createCol += string.Format("{0} {1},", colunmField.Key, colunmField.Value); } createTabSql = string.Format(createTabSql, createCol.TrimEnd(',')); SqlHelper.ExecuteNonQuery(createTabSql);//创建表 } return true; } catch (Exception) { return false; } } /// /// 朗速接口明细表 /// private bool InitToLsEventApiDtlsTable() { try { Dictionary colDic = new Dictionary(); colDic.Add("mainId", "int"); colDic.Add("fileName", "varchar(100)"); colDic.Add("tableName", "varchar(100)"); colDic.Add("primaryKey", "varchar(100)"); colDic.Add("afterSql", "varchar(MAX)"); colDic.Add("mainUnionKey", "varchar(100)"); colDic.Add("dtlUnionKey", "varchar(100)"); string isExitApiTab = "select top 1 * from sysObjects where Id=OBJECT_ID(N'P_SystemToLsApiDtlsTab') and xtype='U'"; DataTable apiTab = SqlHelper.ExecuteDataTable(isExitApiTab); if (apiTab.Rows.Count > 0)//存在日志表 { DataTable columnsTab = SqlHelper.ExecuteDataTable(string.Format("select name from syscolumns where id=object_id('P_SystemToLsApiDtlsTab')")); foreach (KeyValuePair colunmField in colDic) { DataRow[] dataRows = columnsTab.Select().Where(n => (n["name"] + "").Equals(colunmField.Key)).ToArray(); if (dataRows.Length == 0) { string addColSql = string.Format("alter table P_SystemToLsApiDtlsTab add {0} {1}", colunmField.Key, colunmField.Value); SqlHelper.ExecuteNonQuery(addColSql);//添加列 } } } else { string createTabSql = "create table P_SystemToLsApiDtlsTab(id bigint IDENTITY(1,1) PRIMARY KEY NOT NULL,{0})"; string createCol = string.Empty; foreach (KeyValuePair colunmField in colDic) { createCol += string.Format("{0} {1},", colunmField.Key, colunmField.Value); } createTabSql = string.Format(createTabSql, createCol.TrimEnd(',')); SqlHelper.ExecuteNonQuery(createTabSql);//创建表 } return true; } catch (Exception) { return false; } } /// /// 朗速接口明细参数表 /// private bool InitToLsEventApiDtlsPmsTable() { try { Dictionary colDic = new Dictionary(); colDic.Add("mainId", "int"); colDic.Add("fileName", "varchar(500)"); colDic.Add("defaultValue", "varchar(500)"); string isExitApiTab = "select top 1 * from sysObjects where Id=OBJECT_ID(N'P_SystemToLsApiDtlsPmsTab') and xtype='U'"; DataTable apiTab = SqlHelper.ExecuteDataTable(isExitApiTab); if (apiTab.Rows.Count > 0)//存在日志表 { DataTable columnsTab = SqlHelper.ExecuteDataTable(string.Format("select name from syscolumns where id=object_id('P_SystemToLsApiDtlsPmsTab')")); foreach (KeyValuePair colunmField in colDic) { DataRow[] dataRows = columnsTab.Select().Where(n => (n["name"] + "").Equals(colunmField.Key)).ToArray(); if (dataRows.Length == 0) { string addColSql = string.Format("alter table P_SystemToLsApiDtlsPmsTab add {0} {1}", colunmField.Key, colunmField.Value); SqlHelper.ExecuteNonQuery(addColSql);//添加列 } } } else { string createTabSql = "create table P_SystemToLsApiDtlsPmsTab(id bigint IDENTITY(1,1) PRIMARY KEY NOT NULL,{0})"; string createCol = string.Empty; foreach (KeyValuePair colunmField in colDic) { createCol += string.Format("{0} {1},", colunmField.Key, colunmField.Value); } createTabSql = string.Format(createTabSql, createCol.TrimEnd(',')); SqlHelper.ExecuteNonQuery(createTabSql);//创建表 } return true; } catch (Exception) { return false; } } /// /// 接口日志表 /// private bool InitEventApiLogTable() { try { Dictionary colDic = new Dictionary(); colDic.Add("url", "varchar(1000)"); colDic.Add("data", "varchar(MAX)"); colDic.Add("succeed", "varchar(100)"); colDic.Add("msg", "varchar(MAX)"); colDic.Add("sendDate", "datetime"); colDic.Add("datasourceRow", "varchar(MAX)"); colDic.Add("pmsHashData", "varchar(MAX)"); colDic.Add("returnCode", "varchar(100)"); colDic.Add("returnMsg", "varchar(MAX)"); colDic.Add("eventId", "int"); colDic.Add("dataIndex", "int"); colDic.Add("action", "varchar(100)"); colDic.Add("isRepeater", "varchar(100)"); colDic.Add("pushState", "varchar(100)"); string isExitApiTab = "select top 1 * from sysObjects where Id=OBJECT_ID(N'p_systemEventApiLogTab') and xtype='U'"; DataTable apiTab = SqlHelper.ExecuteDataTable(isExitApiTab); if (apiTab.Rows.Count > 0)//存在日志表 { DataTable columnsTab = SqlHelper.ExecuteDataTable(string.Format("select name from syscolumns where id=object_id('p_systemEventApiLogTab')")); foreach (KeyValuePair colunmField in colDic) { DataRow[] dataRows = columnsTab.Select().Where(n => (n["name"] + "").Equals(colunmField.Key)).ToArray(); if (dataRows.Length == 0) { string addColSql = string.Format("alter table p_systemEventApiLogTab add {0} {1}", colunmField.Key, colunmField.Value); SqlHelper.ExecuteNonQuery(addColSql);//添加列 } } } else { string createTabSql = "create table p_systemEventApiLogTab(id bigint IDENTITY(1,1) PRIMARY KEY NOT NULL,{0})"; string createCol = string.Empty; foreach (KeyValuePair colunmField in colDic) { createCol += string.Format("{0} {1},", colunmField.Key, colunmField.Value); } createTabSql = string.Format(createTabSql, createCol.TrimEnd(',')); SqlHelper.ExecuteNonQuery(createTabSql);//创建表 } return true; } catch (Exception) { return false; } } /// /// 接口错误日志表 /// private bool InitEventApiLogErrorTable() { try { Dictionary colDic = new Dictionary(); colDic.Add("errorType", "varchar(200)"); colDic.Add("repushErrorMsg", "varchar(200)"); colDic.Add("repushMsg", "varchar(1000)"); colDic.Add("repushSucceed", "varchar(200)"); colDic.Add("errorMessage", "varchar(1000)"); colDic.Add("sendDate", "datetime"); colDic.Add("repushTag", "int"); string isExitApiTab = "select top 1 * from sysObjects where Id=OBJECT_ID(N'p_systemEventApiErrorLogTab') and xtype='U'"; DataTable apiTab = SqlHelper.ExecuteDataTable(isExitApiTab); if (apiTab.Rows.Count > 0)//存在日志表 { DataTable columnsTab = SqlHelper.ExecuteDataTable(string.Format("select name from syscolumns where id=object_id('p_systemEventApiErrorLogTab')")); foreach (KeyValuePair colunmField in colDic) { DataRow[] dataRows = columnsTab.Select().Where(n => (n["name"] + "").Equals(colunmField.Key)).ToArray(); if (dataRows.Length == 0) { string addColSql = string.Format("alter table p_systemEventApiErrorLogTab add {0} {1}", colunmField.Key, colunmField.Value); SqlHelper.ExecuteNonQuery(addColSql);//添加列 } } } else { string createTabSql = "create table p_systemEventApiErrorLogTab(id bigint IDENTITY(1,1) PRIMARY KEY NOT NULL,{0})"; string createCol = string.Empty; foreach (KeyValuePair colunmField in colDic) { createCol += string.Format("{0} {1},", colunmField.Key, colunmField.Value); } createTabSql = string.Format(createTabSql, createCol.TrimEnd(',')); SqlHelper.ExecuteNonQuery(createTabSql);//创建表 } return true; } catch (Exception) { return false; } } /// /// 朗速接口日志表 /// private bool InitToLsEventApiLogTable() { try { Dictionary colDic = new Dictionary(); colDic.Add("url", "varchar(1000)"); colDic.Add("apiNo", "int"); colDic.Add("tableName", "varchar(100)"); colDic.Add("actionType", "int"); colDic.Add("actionTypeName", "varchar(100)"); colDic.Add("data", "varchar(MAX)"); colDic.Add("succeed", "varchar(100)"); colDic.Add("returnMsg", "varchar(MAX)"); colDic.Add("sendDate", "datetime"); string isExitApiTab = "select top 1 * from sysObjects where Id=OBJECT_ID(N'P_SystemToLsApiLogTab') and xtype='U'"; DataTable apiTab = SqlHelper.ExecuteDataTable(isExitApiTab); if (apiTab.Rows.Count > 0)//存在日志表 { DataTable columnsTab = SqlHelper.ExecuteDataTable(string.Format("select name from syscolumns where id=object_id('P_SystemToLsApiLogTab')")); foreach (KeyValuePair colunmField in colDic) { DataRow[] dataRows = columnsTab.Select().Where(n => (n["name"] + "").Equals(colunmField.Key)).ToArray(); if (dataRows.Length == 0) { string addColSql = string.Format("alter table P_SystemToLsApiLogTab add {0} {1}", colunmField.Key, colunmField.Value); SqlHelper.ExecuteNonQuery(addColSql);//添加列 } } } else { string createTabSql = "create table P_SystemToLsApiLogTab(id bigint IDENTITY(1,1) PRIMARY KEY NOT NULL,{0})"; string createCol = string.Empty; foreach (KeyValuePair colunmField in colDic) { createCol += string.Format("{0} {1},", colunmField.Key, colunmField.Value); } createTabSql = string.Format(createTabSql, createCol.TrimEnd(',')); SqlHelper.ExecuteNonQuery(createTabSql);//创建表 } return true; } catch (Exception) { return false; } } #endregion /// /// 设置分割条位置 /// private void InitlizeSpiltLocation() { try { string splitControlSendWidth = IniHelper.Read("PubApiSetModule_SplitControlSendWidth");//通过Key获取Value值 if (!string.IsNullOrEmpty(splitControlSendWidth)) { splitControlSend.SplitterPosition = Convert.ToInt32(splitControlSendWidth); } string splitControlGetWidth = IniHelper.Read("PubApiSetModule_SplitControlGetWidth");//通过Key获取Value值 if (!string.IsNullOrEmpty(splitControlGetWidth)) { splitControlGet.SplitterPosition = Convert.ToInt32(splitControlGetWidth); } } catch (Exception) { } } /// /// 分隔位置改变时 /// /// /// private void OnSplitContainerPositionChanged(object sender, EventArgs e) { try { if (sender == splitControlSend) { IniHelper.Write("PubApiSetModule_SplitControlSendWidth", splitControlSend.SplitterPosition + ""); } if (sender == splitControlGet) { IniHelper.Write("PubApiSetModule_SplitControlGetWidth", splitControlGet.SplitterPosition + ""); } } catch (Exception) { } } } }