static void ExecuteJob(JobSettings job) { WriteDivider(); Console.WriteLine("Выполнение задания: {0} [{1}] dataKey=\"{2}\"", job.Name, job.Type.ToString(), job.DataKey); WriteDivider(); var srcSC = ConfigurationManager.ConnectionStrings[job.Source]; var dstSC = ConfigurationManager.ConnectionStrings[job.Target]; if (srcSC == null) { Console.WriteLine("Не найдена строка подключения {0}", job.Source); WriteDivider(); return; } if (dstSC == null) { Console.WriteLine("Не найдена строка подключения {0}", job.Target); WriteDivider(); return; } Console.WriteLine("Источник:\t{0} [{1}]", job.Source, srcSC.ConnectionString); Console.WriteLine("Назначение:\t{0} [{1}]", job.Target, dstSC.ConnectionString); if (job.Type == JobType.Journal) { Console.WriteLine("Префикс источника:\t{0}", job.SourceProcedurePrefix); Console.WriteLine("Префикс приемника:\t{0}", job.TargetProcedurePrefix); Console.WriteLine("Задание запущено:\t{0}", DateTime.Now.ToLongTimeString()); (new SqlTransfer(job, srcSC.ConnectionString, dstSC.ConnectionString)).Run(); Console.WriteLine("Задание завершено:\t{0}", DateTime.Now.ToLongTimeString()); } else if (job.Type == JobType.Start) { // Остатки на начало Console.WriteLine("Префикс источника:\t{0}", job.SourceProcedurePrefix); Console.WriteLine("Префикс приемника:\t{0}", job.TargetProcedurePrefix); Console.WriteLine("Задание запущено:\t{0}", DateTime.Now.ToLongTimeString()); (new SqlTransfer(job, srcSC.ConnectionString, dstSC.ConnectionString)).RunStart(); Console.WriteLine("Задание завершено:\t{0}", DateTime.Now.ToLongTimeString()); } else if (job.Type == JobType.Catalog) { // Каталоги Console.WriteLine("Префикс источника:\t{0}", job.SourceProcedurePrefix); Console.WriteLine("Префикс приемника:\t{0}", job.TargetProcedurePrefix); Console.WriteLine("Задание запущено:\t{0}", DateTime.Now.ToLongTimeString()); (new SqlCatalogTransfer(job, srcSC.ConnectionString, dstSC.ConnectionString)).Run(); Console.WriteLine("Задание завершено:\t{0}", DateTime.Now.ToLongTimeString()); } else if (job.Type == JobType.Document) { // Каталоги Console.WriteLine("Префикс источника:\t{0}", job.SourceProcedurePrefix); Console.WriteLine("Префикс приемника:\t{0}", job.TargetProcedurePrefix); Console.WriteLine("Использовать GUID:\t{0}", job.UseGuid); Console.WriteLine("Задание запущено:\t{0}", DateTime.Now.ToLongTimeString()); (new SqlDocumentTransfer(job, srcSC.ConnectionString, dstSC.ConnectionString)).Run(); Console.WriteLine("Задание завершено:\t{0}", DateTime.Now.ToLongTimeString()); } }
public SqlCatalogTransfer(JobSettings job, String connSrc, String connTrg) { _sourceConnStr = connSrc; _targetConnStr = connTrg; _sourceProcedure = job.SourceProcedurePrefix; _targetProcedure = job.TargetProcedurePrefix; _key = job.DataKey; }
public SqlDocumentTransfer(JobSettings job, String connSrc, String connTrg) { _sourceConnStr = connSrc; _targetConnStr = connTrg; _sourceProcedure = job.SourceProcedurePrefix; _targetProcedure = job.TargetProcedurePrefix; _key = job.DataKey; _useGuid = job.UseGuid; }