Beispiel #1
0
        private void QueryDataToFile()
        {
            if (OnDataRequest == null || OnDataDischarge == null)
            {
                return;
            }
            ThirdDBConnection cfg = SQLOutAdapterConfigMgt.SQLOutAdapterConfig.ThirdPartyInteractConfig.ConnectionParameter;

            foreach (SQLOutboundChanel ch in SQLOutAdapterConfigMgt.SQLOutAdapterConfig.OutboundChanels)
            {
                try
                {
                    if (!ch.Enable)
                    {
                        continue;
                    }
                    if (ch.OperationType != ThrPartyDBOperationType.Table)
                    {
                        continue;
                    }
                    DataSet dsResult = OnDataRequest((IOutboundRule)ch.Rule, null);
                    int     count    = PrepareQueryResult(dsResult);
                    if (count < 1)
                    {
                        continue;
                    }

                    // generate file name

                    string fn             = RuleControl.GetRandomNumber();
                    string dataFileFolder = ConfigHelper.GetFullPath(cfg.FileFolder);
                    string csvFileName    = string.Format("{0}{1}", fn, cfg.FileNameExtension);
                    string tmpFileName    = string.Format("{0}{1}", fn, cfg.TempFileNameExtensin);

                    // create CSV file

                    List <string> idList = new List <string>();
                    if (!CreateDataFile(ch, tmpFileName))
                    {
                        continue;
                    }
                    if (!InsertDataFile(ch, tmpFileName, dsResult, idList, count))
                    {
                        continue;
                    }
                    Program.Log.Write("Creating data file: " + csvFileName);
                    File.Move(Path.Combine(dataFileFolder, tmpFileName), Path.Combine(dataFileFolder, csvFileName));

                    // delete INI file

                    if (!cfg.KeepSchemaFile)
                    {
                        string schameFilePath = Path.Combine(dataFileFolder, cfg.SchemaFileName);
                        Program.Log.Write("Deleting schema file: " + schameFilePath);
                        File.Delete(schameFilePath);
                    }

                    // create IDX file

                    if (cfg.WriteIndexFile)
                    {
                        string indexFileName   = string.Format("{0}.idx", fn);
                        string indexFileFolder = ConfigHelper.GetFullPath(cfg.IndexFileFolder);
                        string indexFilePath   = Path.Combine(indexFileFolder, indexFileName);
                        Program.Log.Write("Creating index file: " + indexFilePath);
                        if (!Directory.Exists(indexFileFolder))
                        {
                            Directory.CreateDirectory(indexFileFolder);
                        }
                        using (StreamWriter sw = File.CreateText(indexFilePath)) { }
                    }

                    OnDataDischarge(idList.ToArray());
                }
                catch (Exception err)
                {
                    Program.Log.Write(err);
                }
            }
        }
Beispiel #2
0
 public static string GetPrivateLutName()
 {
     return("lut_p_" + RuleControl.GetRandomNumber());
 }
Beispiel #3
0
 public RuleBase()
 {
     _ruleID = RuleControl.GetRandomNumber();
 }