public async Task <ActionResult <VmTicketDto> > CreateVmTicket(VmTicketDto dto) { if (dto == null) { return(BadRequest()); } _logger.LogInformation(ApiLogEvents.InsertItem, $"{nameof(CreateVmTicket)} Started"); var repoObj = _mapper.Map <VmTicket>(dto); var wmOperationRequestCommand = new VmOperationRequestCommand() { VmTicket = repoObj }; var responseMessage = await _mediator.Send(wmOperationRequestCommand); if (!responseMessage.Success) { return(StatusCode(StatusCodes.Status409Conflict, responseMessage.Message)); } else { var result = _mapper.Map <VmTicketDto>(responseMessage.ReturnedObject); return(CreatedAtRoute(nameof(GetVmTicketById), new { id = result.Id }, result)); } }
public async Task <ActionResult <VmTicketDto> > PutVmTicket(VmTicketDto dto) { if (dto == null || dto.Id < 1) { return(BadRequest()); } if (Enum.TryParse(dto.Status, out Status eStatus) && eStatus > Status.Submitted) { return(BadRequest($"Can not modify if Status is {eStatus}")); } _logger.LogInformation(ApiLogEvents.UpdateItem, $"{nameof(PutVmTicket)} Started"); var repoObj = await _repository.GetId(dto.Id).ConfigureAwait(false); if (repoObj == null) { throw new Core.NotFoundException($"{nameof(PutVmTicket)}", dto.Id); } repoObj = _mapper.Map <VmTicket>(dto); _repository.Update(repoObj); if (await _repository.SaveChangesAsync()) { //return NoContent(); return(_mapper.Map <VmTicketDto>(repoObj)); } else { return(Conflict("Conflict detected, refresh and try again.")); } }