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 })); }
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); }