Exemple #1
0
        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();
                }
            }
        }
Exemple #2
0
        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);
            }
        }