Exemple #1
0
        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));
            }
        }
Exemple #2
0
        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."));
            }
        }