private void CreateSPScript() { string dbName = this.textBoxRISDBName.Text.Trim(); string interfaceName = this.textBoxTP.Text.Trim(); string fnameInstall = Application.StartupPath + "\\" + RuleScript.InstallSP.FileName; string fnameUninstall = Application.StartupPath + "\\" + RuleScript.UninstallSP.FileName; using (StreamWriter sw = File.CreateText(fnameInstall)) { StringBuilder sb = new StringBuilder(); foreach (SQLOutboundChanel chn in SQLOutAdapterConfigMgt.SQLOutAdapterConfig.OutboundChanels) { InsertDataId(chn); string strSql = RuleControl.GetOutboundSP(interfaceName, chn.Rule); strSql = strSql.Replace("USE GWDataDB", ""); sb.AppendLine(strSql); } sw.Write("USE " + dbName + "\r\n" + sb.ToString()); } using (StreamWriter sw = File.CreateText(fnameUninstall)) { StringBuilder sb = new StringBuilder(); foreach (SQLOutboundChanel chn in SQLOutAdapterConfigMgt.SQLOutAdapterConfig.OutboundChanels) { string strSql = RuleControl.GetOutboundSPUninstall(interfaceName, chn.Rule); strSql = strSql.Replace("USE GWDataDB", ""); sb.AppendLine(strSql); } sw.Write("USE " + dbName + "\r\n" + sb.ToString()); } }
public void Save() { if (IsChanged) { channel.SPStatement = txtSPStatement.Text; } else { channel.SPStatement = RuleControl.GetOutboundSP(interfaceName, channel.Rule); } }
private void CreateOutboundSPScript(IOutboundRule[] ruleList) { string interfaceName = Program.DeviceMgt.DeviceDirInfor.Header.Name; string fnameInstall = Application.StartupPath + "\\" + RuleScript.InstallSP.FileName; string fnameUninstall = Application.StartupPath + "\\" + RuleScript.UninstallSP.FileName; //using (StreamWriter sw = File.CreateText(fnameInstall)) // 20110706 OSQL & SQLMgmtStudio only support ASCII and UNICODE { StringBuilder sb = new StringBuilder(); sb.AppendLine(GWDataDB.GetUseDataBaseSql()); foreach (IOutboundRule rule in ruleList) { string strSql = RuleControl.GetOutboundSP(interfaceName, rule); sb.AppendLine(strSql); IRuleSupplier supplier = rule as IRuleSupplier; if (supplier != null) { string strSqlSupplied = supplier.GetInstallDBScript(); if (strSqlSupplied != null) { sb.AppendLine(strSqlSupplied); } } } //sw.Write(sb.ToString()); File.WriteAllText(fnameInstall, sb.ToString(), Encoding.Unicode); } using (StreamWriter sw = File.CreateText(fnameUninstall)) { StringBuilder sb = new StringBuilder(); sb.AppendLine(GWDataDB.GetUseDataBaseSql()); foreach (IOutboundRule rule in ruleList) { string strSql = RuleControl.GetOutboundSPUninstall(interfaceName, rule); sb.AppendLine(strSql); IRuleSupplier supplier = rule as IRuleSupplier; if (supplier != null) { string strSqlSupplied = supplier.GetUninstallDBScript(); if (strSqlSupplied != null) { sb.AppendLine(strSqlSupplied); } } } sw.Write(sb.ToString()); } }
public void CreatStatement() { txtSPStatement.Text = RuleControl.GetOutboundSP(interfaceName, channel.Rule); lblIsChanged.Visible = false; }
public static bool LoadDefaultPassiveChannels(XCollection <SQLOutboundChanel> chs, string Prefix, string interfaceName) { //XCollection<SQLOutboundChanel> chs = new XCollection<SQLOutboundChanel>(); chs.Clear(); SQLOutboundChanel ch; int iFieldID = 0; SQLOutQueryResultItem ri; #region CH_Patient ch = new SQLOutboundChanel(); ch.ChannelName = "CH_PATITENT"; ch.SPName = Prefix + GWDataDBTable.Patient.ToString(); ch.OperationType = ThrPartyDBOperationType.StorageProcedure; ch.Modified = false; #region Criteria SQLOutQueryCriteriaItem ci = new SQLOutQueryCriteriaItem(); ch.Rule.QueryCriteria.Type = QueryCriteriaRuleType.DataSet; ci.GWDataDBField = GWDataDBField.i_EventType; ci.Operator = QueryCriteriaOperator.Equal; ci.Type = QueryCriteriaType.Or; ci.SourceField = ci.GWDataDBField.GetFullFieldName(); ci.TargetField = ci.GWDataDBField.GetFullFieldName(); ci.Translating.Type = TranslatingType.FixValue; ci.Translating.ConstValue = "00"; ch.Rule.QueryCriteria.MappingList.Add(ci); ci = new SQLOutQueryCriteriaItem(); ch.Rule.QueryCriteria.Type = QueryCriteriaRuleType.DataSet; ci.GWDataDBField = GWDataDBField.i_EventType; ci.Operator = QueryCriteriaOperator.Equal; ci.Type = QueryCriteriaType.Or; ci.SourceField = ci.GWDataDBField.GetFullFieldName(); ci.TargetField = ci.GWDataDBField.GetFullFieldName(); ci.Translating.Type = TranslatingType.FixValue; ci.Translating.ConstValue = "01"; ch.Rule.QueryCriteria.MappingList.Add(ci); ci = new SQLOutQueryCriteriaItem(); ch.Rule.QueryCriteria.Type = QueryCriteriaRuleType.DataSet; ci.GWDataDBField = GWDataDBField.i_EventType; ci.Operator = QueryCriteriaOperator.Equal; ci.Type = QueryCriteriaType.Or; ci.SourceField = ci.GWDataDBField.GetFullFieldName(); ci.TargetField = ci.GWDataDBField.GetFullFieldName(); ci.Translating.Type = TranslatingType.FixValue; ci.Translating.ConstValue = "02"; ch.Rule.QueryCriteria.MappingList.Add(ci); ci = new SQLOutQueryCriteriaItem(); ch.Rule.QueryCriteria.Type = QueryCriteriaRuleType.DataSet; ci.GWDataDBField = GWDataDBField.i_EventType; ci.Operator = QueryCriteriaOperator.Equal; ci.Type = QueryCriteriaType.Or; ci.SourceField = ci.GWDataDBField.GetFullFieldName(); ci.TargetField = ci.GWDataDBField.GetFullFieldName(); ci.Translating.Type = TranslatingType.FixValue; ci.Translating.ConstValue = "03"; ch.Rule.QueryCriteria.MappingList.Add(ci); #endregion #region Result iFieldID = 0; foreach (GWDataDBField f in GWDataDBField.GetFields(GWDataDBTable.Index)) { // Third party application need to use this ID to update process flag //if (f.GetFullFieldName() == GWDataDBField.i_IndexGuid.GetFullFieldName()) continue; if (f.GetFullFieldName() == GWDataDBField.i_DataDateTime.GetFullFieldName()) { continue; } if (f.GetFullFieldName() == GWDataDBField.i_PROCESS_FLAG.GetFullFieldName()) { continue; } ri = new SQLOutQueryResultItem(); ri.GWDataDBField = f; ri.SourceField = f.FieldName.ToUpper(); ri.TargetField = f.GetFullFieldName().Replace(".", "_").ToUpper(); ri.ThirdPartyDBPatamter.FieldName = f.GetFullFieldName().Replace(".", "_").ToUpper(); ri.ThirdPartyDBPatamter.FieldID = ++iFieldID; ri.Translating.Type = TranslatingType.None; ri.ThirdPartyDBPatamter.FieldType = System.Data.OleDb.OleDbType.VarChar; ri.Translating.Type = TranslatingType.None; ch.Rule.QueryResult.MappingList.Add(ri); } foreach (GWDataDBField f in GWDataDBField.GetFields(GWDataDBTable.Patient)) { if (f.GetFullFieldName() == GWDataDBField.p_DATA_ID.GetFullFieldName()) { continue; } if (f.GetFullFieldName() == GWDataDBField.p_DATA_DT.GetFullFieldName()) { continue; } ri = new SQLOutQueryResultItem(); ri.GWDataDBField = f; ri.SourceField = f.FieldName.ToUpper(); ri.TargetField = f.GetFullFieldName().Replace(".", "_").ToUpper(); ri.ThirdPartyDBPatamter.FieldName = f.GetFullFieldName().Replace(".", "_").ToUpper(); ri.ThirdPartyDBPatamter.FieldID = ++iFieldID; ri.Translating.Type = TranslatingType.None; ri.ThirdPartyDBPatamter.FieldType = System.Data.OleDb.OleDbType.VarChar; ri.Translating.Type = TranslatingType.None; ch.Rule.QueryResult.MappingList.Add(ri); } chs.Add(ch); #endregion ch.Rule.RuleID = GWDataDBTable.Patient.ToString(); ch.SPStatement = RuleControl.GetOutboundSP(interfaceName, ch.Rule); #endregion #region CH_Order ch = new SQLOutboundChanel(); ch.ChannelName = "CH_ORDER"; ch.SPName = Prefix + GWDataDBTable.Order.ToString(); ch.OperationType = ThrPartyDBOperationType.StorageProcedure; ch.Modified = false; #region Criteria ci = new SQLOutQueryCriteriaItem(); ch.Rule.QueryCriteria.Type = QueryCriteriaRuleType.DataSet; ci.GWDataDBField = GWDataDBField.i_EventType; ci.Operator = QueryCriteriaOperator.Equal; ci.Type = QueryCriteriaType.Or; ci.SourceField = ci.GWDataDBField.GetFullFieldName(); ci.TargetField = ci.GWDataDBField.GetFullFieldName(); ci.Translating.Type = TranslatingType.FixValue; ci.Translating.ConstValue = "10"; ch.Rule.QueryCriteria.MappingList.Add(ci); ci = new SQLOutQueryCriteriaItem(); ch.Rule.QueryCriteria.Type = QueryCriteriaRuleType.DataSet; ci.GWDataDBField = GWDataDBField.i_EventType; ci.Operator = QueryCriteriaOperator.Equal; ci.Type = QueryCriteriaType.Or; ci.SourceField = ci.GWDataDBField.GetFullFieldName(); ci.TargetField = ci.GWDataDBField.GetFullFieldName(); ci.Translating.Type = TranslatingType.FixValue; ci.Translating.ConstValue = "11"; ch.Rule.QueryCriteria.MappingList.Add(ci); ci = new SQLOutQueryCriteriaItem(); ch.Rule.QueryCriteria.Type = QueryCriteriaRuleType.DataSet; ci.GWDataDBField = GWDataDBField.i_EventType; ci.Operator = QueryCriteriaOperator.Equal; ci.Type = QueryCriteriaType.Or; ci.SourceField = ci.GWDataDBField.GetFullFieldName(); ci.TargetField = ci.GWDataDBField.GetFullFieldName(); ci.Translating.Type = TranslatingType.FixValue; ci.Translating.ConstValue = "12"; ch.Rule.QueryCriteria.MappingList.Add(ci); ci = new SQLOutQueryCriteriaItem(); ch.Rule.QueryCriteria.Type = QueryCriteriaRuleType.DataSet; ci.GWDataDBField = GWDataDBField.i_EventType; ci.Operator = QueryCriteriaOperator.Equal; ci.Type = QueryCriteriaType.Or; ci.SourceField = ci.GWDataDBField.GetFullFieldName(); ci.TargetField = ci.GWDataDBField.GetFullFieldName(); ci.Translating.Type = TranslatingType.FixValue; ci.Translating.ConstValue = "13"; ch.Rule.QueryCriteria.MappingList.Add(ci); #endregion #region Result iFieldID = 0; foreach (GWDataDBField f in GWDataDBField.GetFields(GWDataDBTable.Index)) { // Third party application need to use this ID to update process flag //if (f.GetFullFieldName() == GWDataDBField.i_IndexGuid.GetFullFieldName()) continue; if (f.GetFullFieldName() == GWDataDBField.i_DataDateTime.GetFullFieldName()) { continue; } if (f.GetFullFieldName() == GWDataDBField.i_PROCESS_FLAG.GetFullFieldName()) { continue; } ri = new SQLOutQueryResultItem(); ri.GWDataDBField = f; ri.SourceField = f.FieldName.ToUpper(); ri.TargetField = f.GetFullFieldName().Replace(".", "_").ToUpper(); ri.ThirdPartyDBPatamter.FieldName = f.GetFullFieldName().Replace(".", "_").ToUpper(); ri.ThirdPartyDBPatamter.FieldID = ++iFieldID; ri.Translating.Type = TranslatingType.None; ri.ThirdPartyDBPatamter.FieldType = System.Data.OleDb.OleDbType.VarChar; ch.Rule.QueryResult.MappingList.Add(ri); } foreach (GWDataDBField f in GWDataDBField.GetFields(GWDataDBTable.Patient)) { if (f.GetFullFieldName() == GWDataDBField.p_DATA_ID.GetFullFieldName()) { continue; } if (f.GetFullFieldName() == GWDataDBField.p_DATA_DT.GetFullFieldName()) { continue; } ri = new SQLOutQueryResultItem(); ri.GWDataDBField = f; ri.SourceField = f.FieldName.ToUpper(); ri.TargetField = f.GetFullFieldName().Replace(".", "_").ToUpper(); ri.ThirdPartyDBPatamter.FieldName = f.GetFullFieldName().Replace(".", "_").ToUpper(); ri.ThirdPartyDBPatamter.FieldID = ++iFieldID; ri.Translating.Type = TranslatingType.None; ri.ThirdPartyDBPatamter.FieldType = System.Data.OleDb.OleDbType.VarChar; ch.Rule.QueryResult.MappingList.Add(ri); } foreach (GWDataDBField f in GWDataDBField.GetFields(GWDataDBTable.Order)) { if (f.GetFullFieldName() == GWDataDBField.o_DATA_ID.GetFullFieldName()) { continue; } if (f.GetFullFieldName() == GWDataDBField.o_DATA_DT.GetFullFieldName()) { continue; } ri = new SQLOutQueryResultItem(); ri.GWDataDBField = f; ri.SourceField = f.FieldName.ToUpper(); ri.TargetField = f.GetFullFieldName().Replace(".", "_").ToUpper(); ri.ThirdPartyDBPatamter.FieldName = f.GetFullFieldName().Replace(".", "_").ToUpper(); ri.ThirdPartyDBPatamter.FieldID = ++iFieldID; ri.Translating.Type = TranslatingType.None; ri.ThirdPartyDBPatamter.FieldType = System.Data.OleDb.OleDbType.VarChar; ch.Rule.QueryResult.MappingList.Add(ri); } chs.Add(ch); #endregion ch.Rule.RuleID = GWDataDBTable.Order.ToString(); ch.SPStatement = RuleControl.GetOutboundSP(interfaceName, ch.Rule); #endregion #region CH_Report ch = new SQLOutboundChanel(); ch.ChannelName = "CH_REPORT"; ch.SPName = Prefix + GWDataDBTable.Report.ToString(); ch.OperationType = ThrPartyDBOperationType.StorageProcedure; ch.Modified = false; #region Criteria ci = new SQLOutQueryCriteriaItem(); ch.Rule.QueryCriteria.Type = QueryCriteriaRuleType.DataSet; ci.GWDataDBField = GWDataDBField.i_EventType; ci.Operator = QueryCriteriaOperator.Equal; ci.Type = QueryCriteriaType.Or; ci.SourceField = ci.GWDataDBField.GetFullFieldName(); ci.TargetField = ci.GWDataDBField.GetFullFieldName(); ci.Translating.Type = TranslatingType.FixValue; ci.Translating.ConstValue = "30"; ch.Rule.QueryCriteria.MappingList.Add(ci); ci = new SQLOutQueryCriteriaItem(); ch.Rule.QueryCriteria.Type = QueryCriteriaRuleType.DataSet; ci.GWDataDBField = GWDataDBField.i_EventType; ci.Operator = QueryCriteriaOperator.Equal; ci.Type = QueryCriteriaType.Or; ci.SourceField = ci.GWDataDBField.GetFullFieldName(); ci.TargetField = ci.GWDataDBField.GetFullFieldName(); ci.Translating.Type = TranslatingType.FixValue; ci.Translating.ConstValue = "31"; ch.Rule.QueryCriteria.MappingList.Add(ci); ci = new SQLOutQueryCriteriaItem(); ch.Rule.QueryCriteria.Type = QueryCriteriaRuleType.DataSet; ci.GWDataDBField = GWDataDBField.i_EventType; ci.Operator = QueryCriteriaOperator.Equal; ci.Type = QueryCriteriaType.Or; ci.SourceField = ci.GWDataDBField.GetFullFieldName(); ci.TargetField = ci.GWDataDBField.GetFullFieldName(); ci.Translating.Type = TranslatingType.FixValue; ci.Translating.ConstValue = "32"; ch.Rule.QueryCriteria.MappingList.Add(ci); ci = new SQLOutQueryCriteriaItem(); ch.Rule.QueryCriteria.Type = QueryCriteriaRuleType.DataSet; ci.GWDataDBField = GWDataDBField.i_EventType; ci.Operator = QueryCriteriaOperator.Equal; ci.Type = QueryCriteriaType.Or; ci.SourceField = ci.GWDataDBField.GetFullFieldName(); ci.TargetField = ci.GWDataDBField.GetFullFieldName(); ci.Translating.Type = TranslatingType.FixValue; ci.Translating.ConstValue = "33"; ch.Rule.QueryCriteria.MappingList.Add(ci); #endregion #region Result iFieldID = 0; foreach (GWDataDBField f in GWDataDBField.GetFields(GWDataDBTable.Index)) { // Third party application need to use this ID to update process flag //if (f.GetFullFieldName() == GWDataDBField.i_IndexGuid.GetFullFieldName()) continue; if (f.GetFullFieldName() == GWDataDBField.i_DataDateTime.GetFullFieldName()) { continue; } if (f.GetFullFieldName() == GWDataDBField.i_PROCESS_FLAG.GetFullFieldName()) { continue; } ri = new SQLOutQueryResultItem(); ri.GWDataDBField = f; ri.SourceField = f.FieldName.ToUpper(); ri.TargetField = f.GetFullFieldName().Replace(".", "_").ToUpper(); ri.ThirdPartyDBPatamter.FieldName = f.GetFullFieldName().Replace(".", "_").ToUpper(); ri.ThirdPartyDBPatamter.FieldID = ++iFieldID; ri.Translating.Type = TranslatingType.None; ri.ThirdPartyDBPatamter.FieldType = System.Data.OleDb.OleDbType.VarChar; ch.Rule.QueryResult.MappingList.Add(ri); } foreach (GWDataDBField f in GWDataDBField.GetFields(GWDataDBTable.Patient)) { if (f.GetFullFieldName() == GWDataDBField.p_DATA_ID.GetFullFieldName()) { continue; } if (f.GetFullFieldName() == GWDataDBField.p_DATA_DT.GetFullFieldName()) { continue; } ri = new SQLOutQueryResultItem(); ri.GWDataDBField = f; ri.SourceField = f.FieldName.ToUpper(); ri.TargetField = f.GetFullFieldName().Replace(".", "_").ToUpper(); ri.ThirdPartyDBPatamter.FieldName = f.GetFullFieldName().Replace(".", "_").ToUpper(); ri.ThirdPartyDBPatamter.FieldID = ++iFieldID; ri.Translating.Type = TranslatingType.None; ri.ThirdPartyDBPatamter.FieldType = System.Data.OleDb.OleDbType.VarChar; ch.Rule.QueryResult.MappingList.Add(ri); } foreach (GWDataDBField f in GWDataDBField.GetFields(GWDataDBTable.Order)) { if (f.GetFullFieldName() == GWDataDBField.o_DATA_ID.GetFullFieldName()) { continue; } if (f.GetFullFieldName() == GWDataDBField.o_DATA_DT.GetFullFieldName()) { continue; } ri = new SQLOutQueryResultItem(); ri.GWDataDBField = f; ri.SourceField = f.FieldName.ToUpper(); ri.TargetField = f.GetFullFieldName().Replace(".", "_").ToUpper(); ri.ThirdPartyDBPatamter.FieldName = f.GetFullFieldName().Replace(".", "_").ToUpper(); ri.ThirdPartyDBPatamter.FieldID = ++iFieldID; ri.Translating.Type = TranslatingType.None; ri.ThirdPartyDBPatamter.FieldType = System.Data.OleDb.OleDbType.VarChar; ch.Rule.QueryResult.MappingList.Add(ri); } foreach (GWDataDBField f in GWDataDBField.GetFields(GWDataDBTable.Report)) { if (f.GetFullFieldName() == GWDataDBField.r_DATA_ID.GetFullFieldName()) { continue; } if (f.GetFullFieldName() == GWDataDBField.r_DATA_DT.GetFullFieldName()) { continue; } ri = new SQLOutQueryResultItem(); ri.GWDataDBField = f; ri.SourceField = f.FieldName.ToUpper(); ri.TargetField = f.GetFullFieldName().Replace(".", "_").ToUpper(); ri.ThirdPartyDBPatamter.FieldName = f.GetFullFieldName().Replace(".", "_").ToUpper(); ri.ThirdPartyDBPatamter.FieldID = ++iFieldID; ri.Translating.Type = TranslatingType.None; ri.ThirdPartyDBPatamter.FieldType = System.Data.OleDb.OleDbType.VarChar; ch.Rule.QueryResult.MappingList.Add(ri); } chs.Add(ch); #endregion ch.Rule.RuleID = GWDataDBTable.Report.ToString(); ch.SPStatement = RuleControl.GetOutboundSP(interfaceName, ch.Rule); #endregion return(true); }