private static void LoadDataset(string[] args) { var cmdLineParams = CommandLineParser.ParseCommandLine(args); if (cmdLineParams != null) { Console.WriteLine("Loading {0}...", cmdLineParams.FileSetName); if (cmdLineParams.RefreshLastUpdateDate) { RefreshLastUpdatedDate(cmdLineParams.FileSetName + DataLoaderConstants.FileExtConfig); } IDataLoader loader = DataLoaderFactory.CreateDataLoader(cmdLineParams.DataType, cmdLineParams.LoadingTarget, cmdLineParams.FileSetName, cmdLineParams.OverwriteMode, cmdLineParams.SourceOrder); if (cmdLineParams.LoadingTarget == DataLoadingTarget.Console) { loader.Load(null, null); } else { loader.Load((tc, cc) => { if ((tc - cc) % 100 == 0 || tc <= 500) { Console.WriteLine("\t{0} entities remain to be processed...\r", tc - cc); } }, ExceptionNotifier); Console.WriteLine(); } } }
private void StartWork(UploadParam uploadParam) { try { Directory.SetCurrentDirectory(uploadParam.Directory); uploadParam.State = UploaderState.Processing; bool wasError = false; var dataLoader = DataLoaderFactory.CreateDataLoader( uploadParam.Type, DataLoadingTarget, uploadParam.Name, uploadParam.OverwriteMode, uploadParam.SourceOrder); dataLoader.Load( (totalCount, pocessedCount) => _synchronizationContext.Post( state => { uploadParam.Progress = (int)(99 * (((float)pocessedCount) / totalCount)); }, null), ex => { wasError = true; _synchronizationContext.Post( state => { uploadParam.AppendMessageLine(ExceptionHelper.GetMessageStack(ex)); uploadParam.State = UploaderState.Errors; }, null); }); if (!wasError) { uploadParam.State = UploaderState.Complete; } } catch (Exception ex) { _synchronizationContext.Post( state => { uploadParam.State = UploaderState.Failed; uploadParam.AppendMessageLine(ExceptionHelper.GetMessageStack(ex)); }, null); } finally { _synchronizationContext.Post( state => { uploadParam.Progress = 100; uploadParam.ProcessingStatus = ProcessingStatus.Processed; _processingCount--; RunNext(); }, null); } }