Ejemplo n.º 1
0
 public bool PostMyRating(UserRatingDto rating)
 {
     if (_context.Users.Any(u => u.Id == rating.UserId) && _context.Movies.Any(m => m.Id == rating.MovieId))
     {
         try
         {
             var ratingDetails = new MovieRating()
             {
                 Rating  = rating.Rating,
                 UserId  = rating.UserId,
                 MovieId = rating.MovieId
             };
             var userRating =
                 _context.MovieRatings.SingleOrDefault(r => r.MovieId == rating.MovieId && r.UserId == rating.UserId);
             if (userRating == null)
             {
                 _context.MovieRatings.Add(ratingDetails);
             }
             else
             {
                 userRating.Rating = rating.Rating;
             }
             _context.SaveChanges();
             return(true);
         }
         catch
         {
             return(false);
         }
     }
     return(false);
 }
Ejemplo n.º 2
0
        public void AddObjectiveRating(UserRatingDto rating)
        {
            try
            {
                var userRating = rating.ToDbEntity();
                _unitOfWork.UserRatingRepository.Create(userRating);
                _unitOfWork.UserRatingRepository.Save();
                _unitOfWork.Commit();

                int status;
                if (userRating.Grade == 0)
                {
                    status = (int)Common.Enums.ObjectiveStatus.Rejected;
                }
                else
                {
                    status = (int)Common.Enums.ObjectiveStatus.Reviewed;
                }
                var objective = _unitOfWork.ObjectiveRepository.GetById(rating.ObjectiveId);
                objective.Status_ID = status;

                UpdateChallengeBasedGrade(objective.Objective_ID);

                _unitOfWork.ObjectiveRepository.Save();
                _unitOfWork.Commit();
            }
            catch (Exception ex)
            {
                _unitOfWork.RollBack();
                throw;
            }
        }
Ejemplo n.º 3
0
        public async Task <CommonResult> Add(UserRatingDto ratingDto)
        {
            if (string.IsNullOrEmpty(ratingDto.Feedback))
            {
                return(CommonResult.Failure("Cannot create user without field provided."));
            }

            if (string.IsNullOrEmpty(ratingDto.UserAssessorId))
            {
                return(CommonResult.Failure("Cannot create user without userAssessorId provided."));
            }

            if (string.IsNullOrEmpty(ratingDto.UserEvaluatedId))
            {
                return(CommonResult.Failure("Cannot create user without userEvaluatedId provided."));
            }

            if (Enum.IsDefined(typeof(StarNumberType), ratingDto.StarType))
            {
                return(CommonResult.Failure("Wrong enum value."));
            }


            await _ratingsRepository.Add(ratingDto);

            return(CommonResult.Success());
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> RateMovie(int movieId, [FromBody] UserRatingDto ratingDto)
        {
            var userId     = GetUserId();
            var userRating = await _service.RateMovieAsync(userId, movieId, ratingDto.rating);

            return(new OkObjectResult(_mapper.Map <UserRatingDto>(userRating)));
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> UpdateRating(UserRatingDto ratingDto)
        {
            var user = await _ratingsService.Update(ratingDto);

            if (user.IsSuccess)
            {
                return(Ok(user));
            }
            return(BadRequest(user.ErrorMessage));
        }
Ejemplo n.º 6
0
 public static UserRating ToDbEntity(this UserRatingDto rating)
 {
     return(new UserRating()
     {
         Objective_ID = rating.ObjectiveId,
         Rating_ID = rating.Id,
         User_ID = rating.UserID,
         Grade = rating.Grade
     });
 }
Ejemplo n.º 7
0
        public async Task <CommonResult> Update(UserRatingDto ratingDto)
        {
            var updateQualificationDto = await _ratingsRepository.Update(ratingDto);

            if (updateQualificationDto == null)
            {
                return(CommonResult <UserRatingDto> .Failure <UserRatingDto>("Problem occured updating entity."));
            }

            return(CommonResult <QualificationDto> .Success(ratingDto));
        }
Ejemplo n.º 8
0
        public UserRating(UserRatingDto userRatingDto)
        {
            Average = userRatingDto.Average;
            Count   = userRatingDto.Count;

            NumOneStarRatings   = userRatingDto.RatingTable.TryGetValue(1, out var n1) ? n1 : 0;
            NumTwoStarRatings   = userRatingDto.RatingTable.TryGetValue(2, out var n2) ? n2 : 0;
            NumThreeStarRatings = userRatingDto.RatingTable.TryGetValue(3, out var n3) ? n3 : 0;
            NumFourStarRatings  = userRatingDto.RatingTable.TryGetValue(4, out var n4) ? n4 : 0;
            NumFiveStarRatings  = userRatingDto.RatingTable.TryGetValue(5, out var n5) ? n5 : 0;
        }
Ejemplo n.º 9
0
        public async Task <IActionResult> AddRating(UserRatingDto ratingDto)
        {
            ratingDto.UserAssessorId = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
            var user = await _ratingsService.Add(ratingDto);

            if (user.IsSuccess)
            {
                return(Ok(user));
            }

            return(BadRequest(user.ErrorMessage));
        }
Ejemplo n.º 10
0
 public HttpResponseMessage AddObjectiveRating([FromBody] UserRatingDto rating)
 {
     try
     {
         _objectiveService.AddObjectiveRating(rating);
         return(Request.CreateResponse(HttpStatusCode.Created, "Successfully added the rating!"));
     }
     catch (Exception ex)
     {
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
     }
 }
Ejemplo n.º 11
0
 public void AddRating(UserRatingDto rating)
 {
     try
     {
         _unitOfWork.UserRatingRepository.Create(rating.ToDbEntity());
         _unitOfWork.UserRatingRepository.Save();
         _unitOfWork.Commit();
     }
     catch (Exception)
     {
         _unitOfWork.RollBack();
         throw;
     }
 }
Ejemplo n.º 12
0
        public HttpResponseMessage PostRating([FromBody] UserRatingDto data)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Invalid rating value."));
            }
            bool status = _service.PostMyRating(data);

            if (status)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, data));
            }
            return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "movie/user is not found."));
        }
Ejemplo n.º 13
0
        public async Task <ServiceResponse <int> > AddUserRating(UserRatingDto rating)
        {
            ServiceResponse <int> response = new ServiceResponse <int>();

            try
            {
                int        userId  = GetUserId();
                UserRating rating1 = new UserRating {
                    UserId      = userId,
                    CharacterId = rating.CharacterId,
                    Rating      = rating.Rating
                };
                bool isRated = await _context.UserRatings.AnyAsync(ur =>
                                                                   ur.CharacterId == rating.CharacterId &&
                                                                   ur.UserId == userId);

                System.Console.WriteLine(isRated);
                if (isRated)
                {
                    UserRating ur = await _context.UserRatings.FirstOrDefaultAsync(ur =>
                                                                                   ur.CharacterId == rating.CharacterId &&
                                                                                   ur.UserId == userId);

                    _context.UserRatings.Remove(ur);
                    await _context.SaveChangesAsync();

                    response.Message = "Rating removed";
                }
                else
                {
                    await _context.UserRatings.AddAsync(rating1);

                    await _context.SaveChangesAsync();

                    response.Message = "Rating added";
                }

                List <UserRating> ratings = await(_context.UserRatings.Where(ur => ur.CharacterId == rating.CharacterId)
                                                  .ToListAsync());
                response.Data = ratings.Count;
            }
            catch (System.Exception ex)
            {
                response.Success = false;
                response.Message = ex.Message;
            }
            return(response);
        }
Ejemplo n.º 14
0
 public UserRatingDbModel ToDbModel(UserRatingDto item)
 {
     if (item.Id == 0)
     {
         return(new UserRatingDbModel
         {
             RatingId = item.RatingId, TestId = item.TestId, UserName = item.UserName, Mark = item.Mark
         });
     }
     else
     {
         return(new UserRatingDbModel
         {
             Id = item.Id, RatingId = item.RatingId, TestId = item.TestId, UserName = item.UserName,
             Mark = item.Mark
         });
     }
 }
Ejemplo n.º 15
0
        public async Task <UserRatingDto> Update(UserRatingDto userRatingDto)
        {
            var result = await DbSet.SingleOrDefaultAsync(x => x.Id == userRatingDto.Id);

            await UpdateAsync(result);

            if (await _dbContext.SaveChangesAsync() == 0)
            {
                return(null);
            }

            return(new UserRatingDto
            {
                Id = result.Id,
                UserAssessorId = userRatingDto.UserAssessorId,
                UserEvaluatedId = userRatingDto.UserEvaluatedId,
                Feedback = userRatingDto.Feedback,
                StarType = userRatingDto.StarType
            });
        }
Ejemplo n.º 16
0
        public async Task <UserRatingDto> Add(UserRatingDto userRatingDto)
        {
            var userRating = new UserRating
            {
                UserAssessorId  = userRatingDto.UserAssessorId,
                UserEvaluatedId = userRatingDto.UserEvaluatedId,
                Feedback        = userRatingDto.Feedback,
                StarType        = userRatingDto.StarType
            };

            await DbSet.AddAsync(userRating);

            if (await _dbContext.SaveChangesAsync() == 0)
            {
                return(null);
            }

            userRatingDto.Id = userRating.Id;

            return(userRatingDto);
        }
Ejemplo n.º 17
0
        public void PostRating()
        {
            var client      = new HttpClient();
            var postAddress = string.Format("api/movies/rating");

            client.BaseAddress = new Uri(Url);
            //string myJson = "{'userId': 4,'movieId':2, 'Rating':4}";
            var data = new UserRatingDto()
            {
                UserId = 4, MovieId = 2, Rating = Rating.FourStar
            };                                                                                    // <---- Note that this is an explicit object, not an interface
            var postData = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json");

            using (var response = client.PostAsync(postAddress, postData).Result)
            {
                var result = response.Content.ReadAsAsync <UserRatingDto>().Result;
                Assert.AreEqual(4, result.UserId);
                Assert.AreEqual(2, result.MovieId);
                Assert.AreEqual(response.StatusCode, HttpStatusCode.OK);
            }
        }
 public async Task <IActionResult> Addrating(UserRatingDto rating)
 {
     return(Ok(await _characterService.AddUserRating(rating)));
 }