public IHttpActionResult PutProduct(int id, Product product)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != product.Id)
            {
                return(BadRequest());
            }

            db.Entry(product).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProductExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Example #2
0
        public HttpStatusCode AddOrUpdateUserRating([FromBody] Rating item)
        {
            if (item == null || item.Score < 1 || item.Score > 5)
            {
                return(HttpStatusCode.BadRequest);
            }

            if (!_movieContext.Movies.Any(m => m.Id == item.Id) || !_userContext.Users.Any(u => u.Id == item.Id))
            {
                return(HttpStatusCode.NotFound);
            }

            var usersRatingForThisMovie = _ratingContext.Ratings.Where(m => m.MovieId == item.MovieId).Where(u => u.UserId == item.UserId);

            if (!usersRatingForThisMovie.Any())
            {
                _ratingContext.Ratings.Add(item);
                _ratingContext.SaveChanges();
            }
            else
            {
                var oldRating = usersRatingForThisMovie.FirstOrDefault();
                _ratingContext.Remove(oldRating);
                _ratingContext.Ratings.Add(item);
                _ratingContext.SaveChanges();
            }

            return(HttpStatusCode.OK);
        }
Example #3
0
        public IHttpActionResult PutProductRating(int productId, int userId, ProductRating productRating)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            if (productId != productRating.ProductId && userId != productRating.UserId)
            {
                return(BadRequest());
            }

            db.Entry(productRating).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (db.ProductRatings.Count(e => e.ProductId == productId && e.UserId == userId) == 0)
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Example #4
0
        public void UpdateRating(BookRating bookRating)
        {
            var result = _dbContext.BookRating.SingleOrDefault(b => b.Isbn == bookRating.Isbn);

            if (result != null)
            {
                decimal updateRating;
                if (result.Rating >= 1)
                {
                    if (bookRating.Rating >= result.Rating)
                    {
                        updateRating  = 0.5m;
                        result.Rating = result.Rating + updateRating;
                    }
                    else
                    {
                        updateRating  = 0.5m;
                        result.Rating = result.Rating - updateRating;
                    }
                    _dbContext.SaveChanges();
                }
            }
            else
            {
                _dbContext.BookRating.Add(bookRating);
                _dbContext.SaveChanges();
            }
        }
        public ActionResult <RatingDto> Post(RatingDto rating)
        {
            User user = _db.User.FirstOrDefault(u => u.U_Phonenr == rating.PhoneNr && u.U_School == rating.School);

            if (user == null)
            {
                return(BadRequest());
            }
            if (_db.School_Rating.Any(sr => sr.SR_User_Phonenr == rating.PhoneNr && sr.SR_User_School == rating.School))
            {
                return(BadRequest());
            }
            School_Rating newRating = new School_Rating
            {
                SR_Date            = DateTime.Now.Date,
                SR_User_Navigation = user,
                SR_Value           = rating.Value
            };

            _db.Entry(newRating).State = Microsoft.EntityFrameworkCore.EntityState.Added;
            _db.SaveChanges();
            rating.Id = newRating.SR_ID;
            return(Ok(rating));
        }
Example #6
0
        /// <summary>
        /// Update a cat by passing its Id and the new score
        /// </summary>
        /// <param name="id"></param>
        /// <param name="score"></param>
        public static void UpdateCat(string id, int score)
        {
            log.Info(String.Format("In : UpdateCat : id = {0} ; score = {1}", id, score));

            using (RatingContext context = new RatingContext())
            {
                var record = context.Cats.SingleOrDefault(c => c.Id == id);
                if (record != null)
                {
                    record.Score = score;
                    context.SaveChanges();
                }
            }

            log.Info("Out : UpdateCat");
        }
Example #7
0
 static void SeedDb()
 {
     using (RatingContext db = new RatingContext())
     {
         db.School_Rating.RemoveRange(db.School_Rating.Where(sr => sr.SR_User_School <= 9999));
         db.User.RemoveRange(db.User.Where(u => u.U_School <= 9999));
         db.School.RemoveRange(db.School.Where(s => s.S_Nr <= 9999));
         db.SaveChanges();
     }
     using (RatingContext db = new RatingContext())
     {
         db.School.Add(new School {
             S_Nr = 9998, S_Name = "Testschule 1"
         });
         db.School.Add(new School {
             S_Nr = 9999, S_Name = "Testschule 2"
         });
         var users = Enumerable.Range(0, 3).Select(i => new User()
         {
             U_School  = 9999,
             U_Phonenr = "0999" + i
         }).ToArray();
         db.User.AddRange(users);
         db.School_Rating.Add(new School_Rating
         {
             SR_Date            = DateTime.Now.Date.AddDays(-1),
             SR_User_Navigation = users[0],
             SR_Value           = 5
         });
         db.School_Rating.Add(new School_Rating
         {
             SR_Date            = DateTime.Now.Date.AddDays(0),
             SR_User_Navigation = users[1],
             SR_Value           = 5
         });
         db.SaveChanges();
     }
 }
Example #8
0
        public RatingController(RatingContext ratingContext, MovieContext movieContext, UserContext userContext)
        {
            _ratingContext = ratingContext;
            _movieContext  = movieContext;
            _userContext   = userContext;

            if (!_ratingContext.Ratings.Any())
            {
                _ratingContext.Ratings.Add(new Rating {
                    MovieId = 1, Score = 3, UserId = 1
                });
                _ratingContext.Ratings.Add(new Rating {
                    MovieId = 2, Score = 2, UserId = 2
                });
                _ratingContext.Ratings.Add(new Rating {
                    MovieId = 3, Score = 1, UserId = 1
                });
                _ratingContext.Ratings.Add(new Rating {
                    MovieId = 4, Score = 4, UserId = 2
                });
                _ratingContext.SaveChanges();
            }
        }