示例#1
0
        public async Task <IActionResult> CompleteReview(Guid activityId)
        {
            List <User> users = await _unitOfWork.UserActivities.GetAllUsersByActivityIdAsync(activityId);

            CompleteReviewViewModel model = new CompleteReviewViewModel();

            model.BehaviourProints = new List <int>();
            model.SkillPoints      = new List <int>();
            model.Users            = new List <User>();
            model.UsersId          = new List <Guid>();
            model.ActivityId       = activityId;

            foreach (var user in users)
            {
                if (user.Id != _userContext.Id)
                {
                    model.Users.Add(user);
                    model.SkillPoints.Add(0);
                    model.BehaviourProints.Add(0);
                    model.UsersId.Add(user.Id);
                }
            }

            return(View(model));
        }
示例#2
0
        public async Task <IActionResult> CompleteReview(CompleteReviewViewModel model)
        {
            for (int i = 0; i < model.UsersId.Count; i++)
            {
                var ranking = await _unitOfWork.Ratings.GetRatingByUserIdAsync(model.UsersId.ElementAt(i));

                int games = ranking.GamesNumber + 1;
                ranking.Update(model.BehaviourProints.ElementAt(i), model.SkillPoints.ElementAt(i), games);
                await _unitOfWork.CompleteAsync();
            }

            (await _unitOfWork.Reviews.GetReviewByUserAndActivityAsync(_userContext.Id, model.ActivityId)).Update(true);
            await _unitOfWork.CompleteAsync();

            return(RedirectToAction("MyActivities", "User"));
        }