예제 #1
0
        public async Task <IActionResult> BulkInsert(CancellationToken cancellationToken,
                                                     IEnumerable <TrainingBuildCourseCreatedModel> model)
        {
            var command   = new TrainingBuildCourseBulkInsertCommand <TrainingBuildCourse, TrainingBuildCourseCreatedModel, TrainingBuildCourseReadModel>(model, null);
            var readModel = await Mediator.Send(command, cancellationToken).ConfigureAwait(false);

            return(new OkObjectResult(new {
                Data = readModel,
                Status = StatusCodes.Status200OK
            }));
        }
예제 #2
0
        protected override async Task <IEnumerable <TrainingBuildCourseReadModel> > ProcessAsync(TrainingBuildCourseBulkInsertCommand <Data.Entities.TrainingBuildCourse, TrainingBuildCourseCreatedModel, TrainingBuildCourseReadModel> message, CancellationToken cancellationToken)
        {
            var entity = _mapper.Map <IEnumerable <Data.Entities.TrainingBuildCourse> >(message.Model);

            var dbSet = _context
                        .Set <Data.Entities.TrainingBuildCourse>();

            foreach (var item in entity)
            {
                dbSet.AddIfNotExists(x => new { x.Id, x.LevelId, x.CourseId, x.QuestionId }, item);
            }
            await _context
            .SaveChangesAsync(cancellationToken)
            .ConfigureAwait(false);

            var readModel = _mapper.Map <IEnumerable <TrainingBuildCourseReadModel> >(entity);

            return(readModel);
        }