示例#1
0
        /// <summary>
        ///     Loads the entities and produces a load result.
        /// </summary>
        public ILoaderState Load()
        {
            ILoaderLogWriter log = Log ?? new LoaderLogWriter(_logger);

            try
            {
                var dataSourceProcessor = new DataSourceProcessor <TDtoIn, TLoadStateData>(_validator, log)
                {
                    EntitiesGet  = GetDtos(),
                    Initialize   = Initialize,
                    MaxBatchSize = MaxBatchSize,
                    Processor    = (loaderState, dtoIn) => Process(dtoIn, loaderState),
                    Commit       = Commit
                };

                ILoaderState result = dataSourceProcessor.Process();

                return(result);
            }
            finally
            {
                OnLoaded();
            }
        }
        protected void WhenLoading()
        {
            _loader.DataSource = GetDataSource();

            _state = _loader.Load();
        }