コード例 #1
0
ファイル: ZCX2SSJob.cs プロジェクト: radtek/ThomRe
        private StringBuilder SyncZCXData(DateTime starTime)
        {
            var    strInfo         = new StringBuilder();
            string settingFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
                                                  @"config\ZCX2SS.xml");
            var settingManager = new XmlSettingManager(File.ReadAllText(settingFilePath));

            var destinationDbConn = string.Empty;

            settingManager.Init(destinationDbConn);//初始化 mapping
            strInfo.AppendFormat("File data Sync begin at {0}\n", starTime);
            strInfo.AppendFormat("Source [Type: {0},  Address: {1}]\n", settingManager.SourceDb.Type, settingManager.SourceDb.Conn);
            strInfo.AppendFormat("Source [Type: FTP, Address: {0}]\n", ConfigurationManager.AppSettings["zcxftpUrl"]);
            strInfo.AppendFormat("Destination [Type: Oracle DB,  Address: {0}]\n", ConfigurationManager.AppSettings["reportConnstr"]);
            strInfo.AppendFormat("Destination [Type: WebService, Address: {0}]\n", ConfigHelper.GetEndpointClientAddress("StorageServiceImplPort"));

            var lastSyncTime = GetLastSyncTime();
            //string sql = "SELECT MAX(CCXEID) FROM RATE_REP_DATA";
            //var lastSyncTime = Convert.ToDateTime(DBHelper.ExecuteScaler(sql).ToString());

            var currentSyncTime = starTime;

            strInfo.AppendFormat("Last successfully sync time : {0}(Eastern Standard Time).\n", lastSyncTime);

            using (var dataSync = new DataSynchronizer(settingManager, lastSyncTime, currentSyncTime))
            {
                dataSync.TableSynched +=
                    (sender, e) =>
                    strInfo.AppendFormat
                        ("{0} rows have been synchronized from {1} view in ZCX DB \n",
                        e.NumOfRowsSynched, e.Source);

                dataSync.PostTaskExecuted +=
                    (sender, e) =>
                    strInfo.AppendFormat
                        ("Post sync task {0} is executed.\n",
                        e.TaskName);

                dataSync.Init();
                var ftpUrl = ConfigurationManager.AppSettings["zcxftpUrl"];
                strInfo.Append(dataSync.FileSync(ftpUrl, Ftp2SS));
            }
            strInfo.AppendFormat("{0} table(s) be synchronized.\n", settingManager.TableMappings.Count());

            return(strInfo);
        }
コード例 #2
0
ファイル: Genius2SSJob.cs プロジェクト: radtek/ThomRe
        private StringBuilder SyncGeniusData(DateTime starTime)
        {
            var strInfo = new StringBuilder();

            var settingFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
                                               @"config\Genius2SS.xml");
            var settingManager = new XmlSettingManager(File.ReadAllText(settingFilePath));

            var destinationDbConn = string.Empty;

            settingManager.Init(destinationDbConn);//初始化 mapping
            strInfo.AppendFormat("File data Sync begin at {0}\n", starTime);
            strInfo.AppendFormat("Source [Type: {0},  Address: {1}]\n", settingManager.SourceDb.Type, settingManager.SourceDb.Conn);
            strInfo.AppendFormat("Source [Type: FTP, Address: {0}\n", ConfigurationManager.AppSettings["geniusftpUrl"]);
            strInfo.AppendFormat("Destination [Type: Oracle DB,  Address: {0}]\n", ConfigurationManager.AppSettings["reportConnstr"]);
            strInfo.AppendFormat("Destination [Type: WebService, Address: {0}]\n", ConfigHelper.GetEndpointClientAddress("StorageServiceImplPort"));
            var lastSyncTime    = GetLastSyncTime().AddHours(8);
            var currentSyncTime = starTime.AddHours(8);

            strInfo.AppendFormat("Last successfully sync time : {0}.\n", lastSyncTime);


            using (var dataSync = new DataSynchronizer(settingManager, lastSyncTime, currentSyncTime))
            {
                dataSync.TableSynched +=
                    (sender, e) =>
                    strInfo.AppendFormat
                        ("{0} rows have been synchronized from {1} table in Genius DB\n",
                        e.NumOfRowsSynched, e.Source);

                dataSync.PostTaskExecuted += (sender, e) => strInfo.AppendFormat("Post sync task {0} is executed.\n", e.TaskName);

                dataSync.Init();
                var ftpUrl = ConfigurationManager.AppSettings["geniusftpUrl"];
                strInfo.Append(dataSync.FileSync(ftpUrl, Ftp2SS));
            }
            strInfo.AppendFormat("{0} table(s) be synchronized.\n", settingManager.TableMappings.Count());
            strInfo.AppendFormat("Synchronization completed at {0}.\n", DateTime.UtcNow);

            return(strInfo);
        }