コード例 #1
0
        public async Task Execute()
        {
            Category<ObjectId> category = SelectCategory();
            if (category == null)
            {
                _logger.Error(InnerMessages.CategoryMissing);
                return;
            }

            _users = ContentProvider.GetUsers();
            _posts = ContentProvider.GetPosts(_settings.PostContentPath);

            FillTaskAssembler fillTask = new FillTaskAssembler()
                .RegisterSingleResult<ContentBase<ObjectId>>(_settings.PostCount, _context.Posts, CreatePost)
                .RegisterSingleResult<Comment<ObjectId>, ContentBase<ObjectId>>(_commentsPerPostCount, _context.Comments, CreateComment);

            fillTask.Progress.ProgressUpdateEvent += Progress_ProgressUpdateEvent;
            FillResult result = await fillTask.Fill();

            if (result.Exceptions.Count > 0)
            {
                throw new AggregateException(result.Exceptions);
            }

            fillTask.Progress.ProgressUpdateEvent -= Progress_ProgressUpdateEvent;
        }
コード例 #2
0
        public Task Execute()
        {
            var fillTask = new FillTaskAssembler()
                .RegisterSingleResult(_deliveryTypesCount, _context.UserDeliveryTypeSettings, CreateDeliveryType)
                //.RegisterMultipleResult<UserCategorySettings<ObjectId>, UserDeliveryTypeSettings<ObjectId>>(1, _context.UserCategorySettings, CreateCategory)
                //.RegisterMultipleResult<UserTopicSettings<ObjectId>, UserDeliveryTypeSettings<ObjectId>>(1, _context.UserTopicSettings, CreateTopic)
                ;

            fillTask.Progress.ProgressUpdateEvent += Progress_ProgressUpdateEvent;
            FillResult result = fillTask.Fill().Result;

            return Task.FromResult<int>(0);
        }