public async Task <ActionResult <AdoProjectAccessDto> > UpdateAdoProjectAccessRequest(AdoProjectAccessDto dto) { if (dto == null || dto.Id < 1) { return(BadRequest()); } if (dto.Status > Status.Submitted) { return(BadRequest($"Can not Modify request if {nameof(dto.Status)} is {dto.Status}. Please Create new request.")); } try { _logger.LogInformation(ApiLogEvents.UpdateItem, $"{nameof(UpdateAdoProjectAccessRequest)} Started"); var repoObj = await _repository.GetId(dto.Id).ConfigureAwait(false); if (repoObj == null) { _logger.LogWarning(ApiLogEvents.UpdateItemNotFound, $"{nameof(UpdateAdoProjectAccessRequest)} not found"); return(NotFound()); } repoObj = _mapper.Map <Entity.AdoProjectAccess>(dto); var res = await _repository.UpdateAsync(repoObj).ConfigureAwait(false); if (res != null) { return(NoContent()); } else { return(Conflict("Conflict detected, refresh and try again.")); } } catch (Exception ex) { _logger.LogError(ex, nameof(UpdateAdoProjectAccessRequest), dto); return(StatusCode(StatusCodes.Status500InternalServerError, ex?.Message)); } }
public async Task <ActionResult <AdoProjectAccessDto> > RequestAdoProjectAccess(AdoProjectAccessDto dto) { if (dto == null) { return(BadRequest()); } if (dto.Id > 0) { return(BadRequest($"{dto.Id} may not be entered")); } try { _logger.LogInformation(ApiLogEvents.RequestItem, $"{nameof(RequestAdoProjectAccess)} Started"); var repoObj = _mapper.Map <Entity.AdoProjectAccess>(dto); var suc = await _repository.CreateAdoProjectAccess(repoObj); if (suc != null) { var result = _mapper.Map <AdoProjectAccessDto>(repoObj); return(CreatedAtRoute(nameof(GetRequestAdoProjectAccess), new { id = result.Id }, result)); } else { return(null); } } catch (Exception ex) { _logger.LogError(ex, nameof(RequestAdoProjectAccess), dto); return(StatusCode(StatusCodes.Status500InternalServerError, ex?.Message)); } }