コード例 #1
0
        public async Task <ActionResult <RatingModel> > Post(RatingModel model)
        {
            try
            {
                var existing = await _repository.GetRatingByNameAsync(model.Name);

                if (existing != null)
                {
                    return(BadRequest($"The rating for {model.Name} already exists!"));
                }

                var rating = _mapper.Map <Rating>(model);
                _repository.Add(rating);
                if (await _repository.SaveChangesAsync())
                {
                    var location = _linkGenerator.GetPathByAction("Get", "Ratings", new { ratingId = rating.Id });

                    return(Created(location, _mapper.Map <RatingModel>(rating)));
                }
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
            }

            return(BadRequest());
        }
コード例 #2
0
        private void CalculateRating(ManualViewModel manual, string userId, bool liked)
        {
            Rating rating = ratingRepository.GetAll()
                            .FirstOrDefault(e => e.UserId == userId && e.ManualId == manual.Id);

            if (rating == null)
            {
                ratingRepository.Add(new Rating
                {
                    ManualId = manual.Id,
                    UserId   = userId,
                    Liked    = liked
                });
            }
            else if (rating.Liked != liked)
            {
                if (rating.Liked == null)
                {
                    rating.Liked = liked;
                }
                else
                {
                    rating.Liked = null;
                }
                ratingRepository.Update(rating);
            }
            ratingRepository.Save();
        }
コード例 #3
0
        public IActionResult Post(Rating rating)
        {
            var currentUser = GetCurrentUserProfile();

            rating.UserProfileId = currentUser.Id;

            _ratingRepository.Add(rating);
            return(CreatedAtAction("Get", new { id = rating.Id }, rating));
        }
コード例 #4
0
        public HttpResponseMessage Post(BookRating newBookRating)
        {
            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, "Sucessfully added to DB");

            try
            {
                _ratingRepo.Add(newBookRating);
            }
            catch (ArgumentException a)
            {
                response = Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid parameters. " + a.Message);
            }
            catch (DbUpdateException a)
            {
                response = Request.CreateResponse(HttpStatusCode.BadRequest, a.Message);
            }
            return(response);
        }
コード例 #5
0
        private Rating AddandGetTestRating()
        {
            var ratingType = new Rating
            {
                Description = "TestRating"
            };

            using (var ratingRepo = new RatingRepository(new brothershipEntities(ConnectionStrings.TEST_CONNECTION_STRING_NAME)))
            {
                ratingRepo.Add(ratingType);
                ratingRepo.SaveChanges();
            }

            return(ratingType);
        }
コード例 #6
0
        public void Add_WasRatingAdded_ActualEqualsExpectedData()
        {
            var expectedRating = new Rating
            {
                Description = "ZeroStars"
            };
            Rating actualRating;

            using (var ratingRepo = new RatingRepository(new brothershipEntities(ConnectionStrings.TEST_CONNECTION_STRING_NAME)))
            {
                ratingRepo.Add(expectedRating);
                ratingRepo.SaveChanges();
                actualRating = ratingRepo.GetById(expectedRating.ID);
            }

            AssertRatingsEqual(expectedRating, actualRating);
        }
コード例 #7
0
        public async Task <ActionResult> Create([Bind(Include = "Id,Descricao")] RatingViewModel ratingViewModel)
        {
            if (ModelState.IsValid)
            {
                var mapper = Mapper.CreateMap <Rating, RatingViewModel>();
                var rating = Mapper.Map <Rating>(ratingViewModel);

                repository.Add(rating);

                var routeValue = new RouteValueDictionary();
                routeValue.Add("page", "1");

                return(RedirectToAction("Index", routeValue));
            }

            return(View(ratingViewModel));
        }
コード例 #8
0
        public void AddandDeleteTest()
        {
            List <Rating> expected = Ratings();
            Rating        Rating   = new Rating()
            {
                Id = 13, CustomerService = 8, Quality = 6, OverAll = 8, Price = 8
            };

            expected.Add(Rating);
            repo.Add(Rating);
            List <Rating> actual  = repo.ReadAll();
            Rating        actuall = actual.Last();

            Assert.IsTrue(comparer(Rating, actuall));

            repo.Delete(Rating.Id);
            expected.Remove(Rating);

            Assert.IsTrue(listcomparer(repo.ReadAll(), expected));
        }
コード例 #9
0
        public void Add_ShouldCallAdd_ShouldAddRating()
        {
            // Arrange
            var rating = new Rating()
            {
                Id = 8, Score = 3, RatingUserId = 6, RatedUserId = 5
            };

            dbSetRatingMock
            .Setup(ds => ds.Add(It.IsAny <Rating>()))
            .Callback <Rating>(testRatings.Add);

            // Act
            repo.Add(rating);

            // Assert
            testRatings.Should().Contain(rating);

            // Clean up
            testRatings.Remove(rating);
            dbSetRatingMock.Verify(ds => ds.Add(It.IsAny <Rating>()), Times.Exactly(1));
        }
        public void Add_Rating_AddsRatingToDatabase()
        {
            var rating = new Rating
            {
                Id      = Guid.NewGuid(),
                RatedOn = DateTime.Today,
                Song    = new Song {
                    Id = Guid.NewGuid(), Album = new Album {
                        Id = Guid.NewGuid(), ReleaseDate = DateTime.Today
                    }
                },
                User = new User {
                    Id = Guid.NewGuid(), DateOfBirth = DateTime.Today
                }
            };

            _ratingRepository.Add(rating);

            var ratings = _context.Ratings.ToList();

            Assert.IsTrue(ratings.Contains(rating));
        }
コード例 #11
0
 public void Add([FromBody] Rating rating)
 {
     _ratingRepository.Add(rating);
 }