Пример #1
0
        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));
        }
Пример #2
0
        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());
        }