コード例 #1
0
        public void Create_Review()
        {
            var controller = new ReviewsController(new ReviewRepositoryMock(), new ClientRepositoryMock());

            var reviewForCreation = new ReviewDtoForCreation()
            {
                AgentId = HRServiceMock.TestAgent.Id,
                Content = "This agent sucks!"
            };

            var result = controller.Post(reviewForCreation, ClientRepositoryMock.TestClient.Id);

            var okResult = result.Should().BeOfType <CreatedAtRouteResult>().Subject;
            var review   = okResult.Value.Should().BeAssignableTo <ReviewWithClientDto>().Subject;

            review.Content.Should().Be(reviewForCreation.Content);
        }
コード例 #2
0
        public IActionResult Post([FromBody] ReviewDtoForCreation review, [FromQuery(Name = "clientId")] int clientId)
        {
            var finalReview = Mapper.Map <Review>(review);
            var client      = _clientRepository.Get(clientId);

            if (client == null)
            {
                return(NotFound("Could not find client"));
            }

            // Set default time created
            finalReview.DateCreated = DateTime.Now.ToUniversalTime().ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'");

            client.Reviews.Add(finalReview);
            if (!_clientRepository.Save())
            {
                return(BadRequest("Could not create review"));
            }


            var result = AutoMapper.Mapper.Map <ReviewWithClientDto>(finalReview);

            return(CreatedAtRoute("GetReview", new { id = finalReview.Id }, result));
        }