private void FetchSourceDetails() { var importId = ImportToolkit.SearchImportInfo(PartItem); if (importId == null || String.IsNullOrEmpty(importId.Distributor)) { HasDistributor = false; return; } HasDistributor = true; Distributor = importId.Distributor; if (!Config.Manager.EnableViewItemSource) { HasSource = false; return; } var source = SourceLocator.GetSourceByLocation(importId.SourceLocation); HasSource = SourceInvoker.IsInvokable(source, PartItem.SourceArgument); if (HasSource) { InvokeSource.ExecuteAction = () => SourceInvoker.Invoke(source, PartItem.SourceArgument); } }
public override void Run() { var targetPath = Arguments.First(ArgumentsDictionary.Import).Value; var ruleId = Arguments.First(ArgumentsDictionary.RuleId).Value; var transactionId = Arguments.First(ArgumentsDictionary.ImportId).Value; var target = new FileSourceProfile { FilePath = targetPath, TransactionIdentificator = transactionId, RuleIdentificatorString = ruleId }; Console.WriteLine(@"Импорт из произвольного источника"); Console.WriteLine(@"Источник: " + target.Source.Location); Console.WriteLine(@"Правило: " + target.Rule.Name + " (" + target.Rule.Identificator + ")"); Console.WriteLine(@"Идентификатор: " + target.TransactionIdentificator); _task = ImportToolkit.CreateImportTask(target); _task.StageChanged += TaskStageChanged; _task.ProgressChanged += TaskProgressChanged; _task.Interrupted += TaskOnInterrupted; _task.Started += TaskStarted; _task.Finished += TaskFinished; _taskWaitHandle = new AutoResetEvent(false); _task.Start(); //Console.WriteLine("Подготовка"); _taskWaitHandle.WaitOne(); }
protected override void PrepareRoutine() { if (_profile.CleanBeforeImport) { ImportToolkit.DropTransaction(_profile.TransactionIdentificator); } _importIdentificator = ImportToolkit.CreateImportIdentificator(_profile); if (_profile.EmbedSource) { var blob = BlobToolkit.CreateFromFile(_profile.Source.File, _importIdentificator); _profile = new EmbeddedSourceProfile { BlobName = blob.Name, CleanBeforeImport = _profile.CleanBeforeImport, EmbedSource = _profile.EmbedSource, Guid = Guid.NewGuid(), RuleIdentificatorString = _profile.Rule.Identificator, TransactionIdentificator = _profile.TransactionIdentificator, Distributor = _profile.Distributor }; _importIdentificator = ImportToolkit.CreateImportIdentificator(_profile); } // ToDo: не только ITableRule! _sourceReader = new BufferedSourceReader(_profile.Source, _profile.Rule as ITableRule); _sourceReader.Open(); _itemsWriter = new BufferedItemsWriter(_importIdentificator); GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced); }
private void StartImpl() { var presets = PresetTargets.Where(t => t.IsSelected).Select(t => t.Target).Cast <FileSourceProfile>(); var customs = CustomTargets.Select(t => new FileSourceProfile() { FilePath = t.FilePath, RuleIdentificatorString = t.Rule.Identificator }); var task = ImportToolkit.CreateImportTask(presets.Concat(customs)); var vm = new ImportProgressViewModel(task); App.Window.NavigateModal(new ImportProgressPage(vm)); vm.Start(); }
public override void Run() { Console.WriteLine(@"Удаление записей"); if (!Arguments.Has(ArgumentsDictionary.IKnowWhatImDoing)) { if (!RequestAck(@"Данные будут удалены.")) { Console.WriteLine(@"Отменено пользователем"); return; } } ImportToolkit.DropTransaction(); Console.WriteLine(@"Данные удалены."); }
public override void Run() { var id = Arguments.First(ArgumentsDictionary.DropImport).Value; if (String.IsNullOrEmpty(id)) { Console.WriteLine("Отсутствует идентификатор импорта"); } Console.WriteLine("Удаление импорта с идентификатором " + id); if (!Arguments.Has(ArgumentsDictionary.IKnowWhatImDoing)) { if (!RequestAck(@"Данные будут удалены.")) { Console.WriteLine(@"Отменено пользователем"); return; } } ImportToolkit.DropTransaction(id); Console.WriteLine(@"Данные удалены."); }
public override void Run() { var sourceId = Arguments.First(ArgumentsDictionary.ImportSource).Value; var target = TargetsLocator.Targets.First(t => t.TransactionIdentificator == sourceId); Console.WriteLine(@"Импорт источника " + target.TransactionIdentificator); Console.WriteLine(@"Источник: " + target.Source.Location); Console.WriteLine(@"Правило: " + target.Rule.Name + " (" + target.Rule.Identificator + ")"); Console.WriteLine(@"Идентификатор: " + target.TransactionIdentificator); _task = ImportToolkit.CreateImportTask(target); _task.StageChanged += TaskStageChanged; _task.ProgressChanged += TaskProgressChanged; _task.Interrupted += TaskOnInterrupted; _task.Started += TaskStarted; _task.Finished += TaskFinished; _taskWaitHandle = new AutoResetEvent(false); _task.Start(); Console.WriteLine("Подготовка"); _taskWaitHandle.WaitOne(); }