public override int GetHashCode()
 {
     unchecked
     {
         return((AverageRating.GetHashCode() * 397) ^ MyRating.GetHashCode());
     }
 }
        public Result <AverageRating> Save(AverageRating userinfo)
        {
            var result = new Result <AverageRating>();

            try
            {
                var objtosave = _context.AverageRatings.FirstOrDefault(u => u.UserId == userinfo.UserId);
                if (objtosave == null)
                {
                    objtosave = new AverageRating();
                    _context.AverageRatings.Add(objtosave);
                }
                objtosave.UserId   = userinfo.UserId;
                objtosave.UserType = userinfo.UserType;
                objtosave.Average  = userinfo.Average;



                if (!IsValid(objtosave, result))
                {
                    return(result);
                }
                _context.SaveChanges();
            }
            catch (Exception ex)
            {
                result.HasError = true;
                result.Message  = ex.Message;
            }
            return(result);
        }
예제 #3
0
        public ActionResult OtherViewPro2(int id)
        {
            var user                   = _userservice.GetByID(id);
            var ownerInfo              = _ownerService.GetByID(id);
            var posedtProjects         = _postservice.GetAll().Data.Where(d => d.WUserId == id).ToList();
            List <RatingOwner> ratings = _ratingOwnerService.GetAll().Data.Where(d => d.UserId == id).ToList();
            var profileVM              = new Profile();

            profileVM = profileVM.creation(user.Data, ownerInfo.Data, ratings, posedtProjects);
            var avg = new AverageRating();

            avg.UserId   = user.Data.UserId;
            avg.Average  = profileVM.tot;
            avg.UserType = user.Data.UserType;
            _averageRatingService.Save(avg);
            //string s1 = " ~/Files/1SignIn.PNG";
            //string s2 = " ~/Files/2SignUp.PNG";
            //string s3 = " ~/Files/3AfterSignUp.PNG";
            //var file1 = new SavedFile();
            //file1.FileLink = s1;
            //var file2 = new SavedFile();
            //file2.FileLink = s2;
            //var file3 = new SavedFile();
            //file3.FileLink = s3;
            //var files = new List<SavedFile>();
            //files.Add(file1);
            //files.Add(file2);
            //files.Add(file3);
            //SaveFiles(files);

            return(View(profileVM));
        }
예제 #4
0
        public override string GetCommentsText()
        {
            var commentsText = "SUNYVEIL ( " + AverageRating + " ) : \n";

            foreach (var rating in commentsByRating.Keys)
            {
                if (AverageRating.StartsWith(rating))
                {
                    //commentsText += "RATING NOTE: \n";
                    commentsText += "- " + commentsByRating[rating];
                    break;
                }
            }

            commentsText += "\n";
            //commentsText += "SPLASHABLE NOTE: \n";
            commentsText += "- \"The card is " + (Splashable ? "" : "NOT ") + "worth splashing\"";
            if (Conditional)
            {
                commentsText += "\n";
                //commentsText += "CONDITIONAL NOTE: \n";
                commentsText += "- \"The card is conditional. The rating is assuming you are well set up to use it\"";
            }

            return(commentsText);
        }
예제 #5
0
        public async Task RecalculateRatingsAndCountsAsync(Operation action, Review review, double reviewAverageRating)
        {
            var recalculateTasks = new List <Task>();

            // recalculate customer ratings and counts
            if (review.ConsumerRating.HasValue)
            {
                CustomerRating ??= new Ratings();
                recalculateTasks.Add(Task.Run(() => CustomerRating.RecalculateRatingValues(action, review.ConsumerRating.Value, review.Weight)));
            }
            // recalculate employee ratings and counts
            if (review.EmployeeRating.HasValue)
            {
                EmployeeRating ??= new Ratings();
                recalculateTasks.Add(Task.Run(() => EmployeeRating.RecalculateRatingValues(action, review.EmployeeRating.Value, review.Weight)));
            }
            // recalculate society ratings and counts
            if (review.SocietyRating.HasValue)
            {
                SocietyRating ??= new Ratings();
                recalculateTasks.Add(Task.Run(() => SocietyRating.RecalculateRatingValues(action, review.SocietyRating.Value, review.Weight)));
            }

            // recalculate average ratings and counts
            AverageRating ??= new Ratings();
            recalculateTasks.Add(Task.Run(() => AverageRating.RecalculateRatingValues(action, reviewAverageRating, review.Weight)));

            await Task.WhenAll(recalculateTasks).ConfigureAwait(false);
        }
예제 #6
0
파일: Program.cs 프로젝트: Donovancm/DS02
        public static void PickDesiredItem()
        {
            var itemList = new double[0];
            var matrix = new double[0, 0];
            string[] headers = new string[] { "userid/itemid", "avg rating" };
            string[] headersOneSlope = new string[] { "userid/itemid" };
            Console.WriteLine("Pick a dataset, 1 for Group Lens dataset and 2 for Basic dataset");
            UserChoice.choiceData = int.Parse(Console.ReadLine());
            Console.WriteLine("\n");
            Console.WriteLine("Pick a desired Algorithm: 1 for ACS and 2 for Oneslope");
            UserChoice.choiceAlgorithm = int.Parse(Console.ReadLine());
            switch (UserChoice.choiceData)
            {
                case 1:
                    FileReader.GetData(1);
                    if (UserChoice.choiceAlgorithm == 1)
                    {
                        itemList = FileReader.GetItemList();
                        AverageRating.CalculateAverageRating();
                        PrintMethods.PrintGroupLens(PrintMethods.SetTableHeaderMatrix(headers, itemList), itemList);
                        PickedACS();
                        Console.WriteLine("\n");
                    }
                    else
                    {
                        PickedOneSlope();
                        Console.WriteLine("\n");
                    }
                    Console.WriteLine("\n");
                    break;
                case 2:
                    FileReader.GetData(2);
                    itemList = FileReader.GetItemList();

                    if (UserChoice.choiceAlgorithm == 1)
                    {
                        AverageRating.CalculateAverageRating();
                        PrintMethods.Print2DArrayMatrix(PrintMethods.SetTableHeaderMatrix(headers, itemList), itemList);
                        PickedACS();
                        Console.WriteLine("\n");
                    }
                    else
                    {
                        PrintMethods.Print2DArrayMatrixPreOneSlope(PrintMethods.SetTableHeaderMatrix(headersOneSlope, itemList), itemList);
                        PickedOneSlope();
                        Console.WriteLine("\n");
                    }
                    Console.WriteLine("\n");
                    break;
                default:
                    Console.WriteLine("Closed");
                    Console.ReadLine();
                    break;
            }
        }
예제 #7
0
 public override bool IsContains(string text)
 {
     text = text.ToUpper();
     if (AverageRating.ToString().Contains(text) ||
         CourseNumber.ToString().Contains(text) ||
         Commerce.ToString().Contains(text) ||
         Name.ToUpper().Contains(text) ||
         Age.ToString().Contains(text) ||
         Sex.ToString().Contains(text))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
예제 #8
0
        public async Task AverageRatingOfResaturant(int restaurantId)
        {
            AverageRating averageRating = new AverageRating();

            var AverageUserRating = (int)await _context
                                    .Review
                                    .Where(r => r.RestaurantId == restaurantId)
                                    .Select(r => r.Rating)
                                    .AverageAsync();

            averageRating.AverageUserRating = AverageUserRating;

            if (averageRating.AverageUserRating <= 5 && averageRating.AverageUserRating > 4)
            {
                averageRating.RatingText = "Excellent";
            }
            else if (averageRating.AverageUserRating <= 4 && averageRating.AverageUserRating > 3)
            {
                averageRating.RatingText = "Very Good";
            }
            else if (averageRating.AverageUserRating <= 3 && averageRating.AverageUserRating > 2)
            {
                averageRating.RatingText = "Good";
            }
            else
            {
                averageRating.RatingText = "Bad";
            }

            averageRating.Votes = _context.Review.Where(r => r.RestaurantId == restaurantId).Count();

            averageRating.RestaurantId = restaurantId;
            var IsAverageRatingExists = await _context.AverageRating.Where(a => a.RestaurantId == restaurantId).FirstOrDefaultAsync();

            if (IsAverageRatingExists == null)
            {
                _context.AverageRating.Add(averageRating);
            }
            else if (IsAverageRatingExists != null)
            {
                _context.AverageRating.Update(averageRating);
            }
        }
 public bool IsValid(AverageRating obj, Result <AverageRating> result)
 {
     return(true);
 }
예제 #10
0
파일: Program.cs 프로젝트: farmgun/lab4
                new public string ToShortString()

                {

                    string result = base.ToString() + "\n тип освіти: " + education.ToString() + "\n номер группи: " + numberGroup.ToString() + "\n Середній бал: " + AverageRating.ToString();

                    return result;

                }