public async Task <ActionResult> PostNewRequest(RequestCreationDTO requestCreation) { var result = await _requestsService.NewRequestAsync(requestCreation); if (result == -1) { return(BadRequest("Failed to save changes.")); } return(NoContent()); }
public async Task <int> NewRequestAsync(RequestCreationDTO requestCreationDTO) { var currentUserEmail = _httpContextAccessor.HttpContext.User.Identity.Name; var user = await _dbContext.Users.FirstOrDefaultAsync(x => x.Email == currentUserEmail); requestCreationDTO.UserId = user.Id; var request = _mapper.Map <Request>(requestCreationDTO); _dbContext.Requests.Add(request); try { await _dbContext.SaveChangesAsync(); _logger.LogInfo($"Request with ID {request.Id} was saved successfully."); return(1); } catch (Exception ex) { _logger.LogWarn($"Failed to save request with ID {request.Id}. Exception: {ex}"); return(-1); } }