public async Task <ActionResult <Dto.CoffeeRoastingEvent> > CreateCoffeeRoastingEvent( [FromBody] Dto.CoffeeRoastingEventPostRequest request, CancellationToken cancellationToken) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var cmd = _mapper.Map(request); var domainEvent = await _mediator.Send(cmd, cancellationToken); return(_mapper.Map(domainEvent)); }
public async Task <CoffeeRoastingEvent> Save(CoffeeRoastingEvent @event, CancellationToken cancellationToken) { var dbEvent = await _mapper.Map(@event, cancellationToken); if (await _dataLayer.DoesCoffeeRoastingEventExist(@event.Id, cancellationToken)) { await _dataLayer.UpdateCoffeeRoastingEvent(dbEvent, cancellationToken); } else { await _dataLayer.CreateCoffeeRoastingEvent(dbEvent, cancellationToken); } var createdOrUpdatedEvent = await _dataLayer.GetCoffeeRoastingEvent(@event.Id, cancellationToken); return(_mapper.Map(createdOrUpdatedEvent)); }