public async Task <TicketBlModelResponse> CreateTicket(TicketBlModelRequest ticket) { TicketDalDtoModelRequest ticketRequest = new TicketDalDtoModelRequest ( ticket.UserId, ticket.PriceId ); CreateTicketResponseBlModel response = Mapper.Map <CreateTicketResponseBlModel>(await _ticketsRepository.CreateTicket(ticketRequest)); if (response.Result == StoredProcedureExecutionResult.Ok) { if (ticket.Services != null) { foreach (ServiceBlModelRequestForTicket service in ticket.Services) { _ticketsRepository.AddServiceToTicket(new ServiceDalDtoModelRequestForTicket(response.TicketId, service.Id, service.Amount)); } } return(await GetTicketById(response.TicketId)); } else { return(null); } }
public async Task <IActionResult> Put([NotNull][FromBody] TicketApiModelRequest ticket) { TicketBlModelRequest ticketRequest = new TicketBlModelRequest ( HttpContext.User.GetUserId(), ticket.PriceId, Mapper.Map <ServiceApiModelRequestForTicket[], ServiceBlModelRequestForTicket[]>(ticket.Services) ); TicketBlModelResponse ticketResponse = await _ticketsService.CreateTicket(ticketRequest); if (ticketResponse == null) { return(BadRequest("This ticket already exists")); } else { return(Ok( Mapper.Map <TicketApiModelResponse>(ticketResponse) )); } }