示例#1
0
        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();
        }
 public static void FillFromModel(FileImportTargetViewModel viewModel, FileSourceProfile model)
 {
     viewModel.Model = model;
     // viewModel.Guid = model.Guid;
     viewModel.Transaction = model.TransactionIdentificator;
     viewModel.FilePath    = model.FilePath;
     viewModel.UpdateAvailableRules <ExcelImportRule>();
     viewModel.ImportRule        = model.Rule;
     viewModel.CleanBeforeImport = model.CleanBeforeImport;
     viewModel.EmbedSource       = model.EmbedSource;
     viewModel.Distributor       = model.Distributor;
 }
        private void SaveImpl()
        {
            var model = Model as FileSourceProfile;

            if (model == null)
            {
                model = new FileSourceProfile {
                    Guid = Guid.NewGuid()
                };
            }
            model.FilePath = FilePath;
            model.TransactionIdentificator = Transaction;
            model.RuleIdentificatorString  = ImportRule.Identificator;
            model.CleanBeforeImport        = CleanBeforeImport;
            model.EmbedSource = EmbedSource;
            model.Distributor = Distributor;
            TargetsLocator.Set(model);

            App.Window.NavigateModal(null);
        }
 public FileImportTargetViewModel(FileSourceProfile rule) : this()
 {
     Model = rule;
     FillFromModel(this, rule);
 }