コード例 #1
0
        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());
            }
        }
コード例 #2
0
 public void Save()
 {
     if (IsChanged)
     {
         channel.SPStatement = txtSPStatement.Text;
     }
     else
     {
         channel.SPStatement = RuleControl.GetOutboundSP(interfaceName, channel.Rule);
     }
 }
コード例 #3
0
        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());
            }
        }
コード例 #4
0
 public void CreatStatement()
 {
     txtSPStatement.Text  = RuleControl.GetOutboundSP(interfaceName, channel.Rule);
     lblIsChanged.Visible = false;
 }
コード例 #5
0
        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);
        }