public async Task <IActionResult> Create([FromBody] CreateCakeRequestModel cakeRequest) { if (cakeRequest == null) { throw new ArgumentNullException(nameof(cakeRequest)); } // Find users //TODO: Throw if we not find the user var createdBy = await _userRepository.GetByIdAsync(cakeRequest.CreatedByUserId); var assignedTo = await _userRepository.GetByIdAsync(cakeRequest.AssignedToUserId); if (createdBy == null || assignedTo == null) { return(BadRequest(new ProblemDetails { Type = "https://httpstatuses.com/400", Status = 400, Title = "Can't find user", Detail = "CreatedBy or AssignedTo user id is not matching any users." })); } // Create request var createdCakeRequest = await _cakelistService.AddCakeRequestAsync(createdBy, assignedTo, cakeRequest.Reason); // Return with a 201 and the cake request return(CreatedAtAction(nameof(GetById), new { Id = createdCakeRequest.Id }, createdCakeRequest)); }
public async Task <ActionResult> Create(CreateCakeRequest cakeRequest) { // Chech if the modelstate / model is valid, if not return 400 - Bad request if (!ModelState.IsValid) { return(View()); } // Find users //TODO: Throw if we not find the user var createdBy = await _userRepository.GetByIdAsync(cakeRequest.CreatedByUserId); var assignedTo = await _userRepository.GetByIdAsync(cakeRequest.AssignedToUserId); // Create request var createdCakeRequest = await _cakelistService.AddCakeRequestAsync(createdBy, assignedTo, cakeRequest.Reason); return(View()); }