public async Task <IActionResult> Post([FromForm] RequestModel requestModel) { logger.LogInformation($"Post action. Nick: {User.Identity.IsAuthenticated} !"); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Request request; try { logger.LogInformation("Create request."); int?userId = User.Identity.IsAuthenticated ? int.Parse(User.FindFirst("Id").Value) : new int?(); request = await faceService.CreateRequestAsync(requestModel.RequestType, requestModel.FromImage, requestModel.ToImage, userId); logger.LogInformation("Create response."); Response response = await faceService.CreateResponseAsync(request); } catch (KeyNotFoundException ex) { ModelState.AddModelError("RequestType", ex.Message); return(NotFound(ModelState)); } catch (NullReferenceException ex) { ModelState.AddModelError("ToImage", ex.Message); return(BadRequest(ModelState)); } catch (InvalidDataException ex) { ModelState.AddModelError("Images", ex.Message); return(BadRequest(ModelState)); } logger.LogInformation("Return response."); var responseModel = new { Id = request.RequestId }; return(Ok(responseModel)); }