예제 #1
0
        public void Reload()
        {
            AllCount = MainViewModel.Default.GamesViewModel.Items.Count;

            StateStatistics.ReloadSeries();
            RatingStatistics.ReloadSeries();
            YearStatistics.ReloadSeries();
        }
예제 #2
0
        public void Reload()
        {
            AllCount = MainViewModel.Default.MoviesViewModel.Items.Count;

            TypeStatistics.ReloadSeries();
            StateStatistics.ReloadSeries();
            RatingStatistics.ReloadSeries();
            EveryDayStatistics.ReloadSeries();
            EveryMonthStatistics.ReloadSeries();
            EveryYearStatistics.ReloadSeries();
        }
예제 #3
0
        public static ReviewStatisticsViewModel Adapt(RatingStatistics statistics)
        {
            var viewModel = new ReviewStatisticsViewModel();

            if (statistics != null)
            {
                viewModel.OverallRating = Convert.ToDouble(statistics.Sum) / Convert.ToDouble(statistics.TotalCount);
                viewModel.TotalRatings  = statistics.TotalCount;
            }

            return(viewModel);
        }
예제 #4
0
        public static ReviewStatisticsViewModel Adapt(RatingStatistics statistics)
        {
            var viewModel = new ReviewStatisticsViewModel();

            if (statistics != null)
            {
                viewModel.OverallRating = Convert.ToDouble(statistics.Sum) / Convert.ToDouble(statistics.TotalCount);
                viewModel.TotalRatings  = statistics.TotalCount;
                viewModel.Code          = statistics.Target.Id.Replace("product://", "");
            }

            return(viewModel);
        }
예제 #5
0
        public void CreateOrUpdateUsersRatingStatistics()
        {
            var client   = new MongoClient("mongodb://*****:*****@10.10.139.148:27017/gdcame?authSource=gdcame");
            var database = client.GetDatabase("gdcame");
            RatingStatisticsRepository testRating = new RatingStatisticsRepository(database);
            RatingStatistics           userTemp   = new RatingStatistics
            {
                //Id = 45,
                UserId           = "Y391",
                ManualStepsCount = new CountValues {
                    Day = 123, Week = 233, Total = 588
                },
                TotalEarned = new CountValues {
                    Day = 623, Week = 745, Total = 987
                },
                RootCounter = new CountValues {
                    Day = 623, Week = 745, Total = 987
                }
            };
            RatingStatistics userTemp2 = new RatingStatistics
            {
                //Id = 12,
                UserId           = "Y392",
                ManualStepsCount = new CountValues {
                    Day = 123, Week = 233, Total = 588
                },
                TotalEarned = new CountValues {
                    Day = 623, Week = 745, Total = 987
                },
                RootCounter = new CountValues {
                    Day = 623, Week = 745, Total = 987
                }
            };
            RatingStatistics userTemp3 = new RatingStatistics
            {
                //Id = 123,
                UserId           = "Y393",
                ManualStepsCount = new CountValues {
                    Day = 123, Week = 233, Total = 588
                },
                TotalEarned = new CountValues {
                    Day = 623, Week = 745, Total = 987
                },
                RootCounter = new CountValues {
                    Day = 623, Week = 745, Total = 987
                }
            };

            RatingStatistics[] Rating = new RatingStatistics[] { userTemp, userTemp2, userTemp3 };
            testRating.CreateOrUpdateUsersRatingStatistics(Rating);
        }
예제 #6
0
        private RatingStatistics GetProductStatistics(Reference product)
        {
            var statisticsCriteria = new Criteria <RatingStatisticsFilter>
            {
                Filter = new RatingStatisticsFilter
                {
                    Targets = new List <Reference> {
                        product
                    }
                },
                PageInfo = new PageInfo
                {
                    PageSize = 1
                }
            };

            RatingStatistics statistics = null;

            try
            {
                statistics = _ratingStatisticsService.Get(statisticsCriteria).Results.FirstOrDefault();
            }
            catch (SocialAuthenticationException ex)
            {
                throw new SocialRepositoryException("The application failed to authenticate with Episerver Social.",
                                                    ex);
            }
            catch (MaximumDataSizeExceededException ex)
            {
                throw new SocialRepositoryException(
                          "The application request was deemed too large for Episerver Social.", ex);
            }
            catch (SocialCommunicationException ex)
            {
                throw new SocialRepositoryException("The application failed to communicate with Episerver Social.", ex);
            }
            catch (SocialException ex)
            {
                throw new SocialRepositoryException("Episerver Social failed to process the application request.", ex);
            }

            return(statistics);
        }
예제 #7
0
        private RatingStatistics RecalculationRatingStatisticsOneUser(List <RatingHistory> userHistoreTotal)
        {
            var lastDataUser = userHistoreTotal.OrderByDescending(t => t.Data).FirstOrDefault();
            //add the values for the Total
            RatingStatistics userRatingNew = new RatingStatistics
            {
                UserId           = lastDataUser.UserId,
                ManualStepsCount = new CountValues {
                    Day = lastDataUser.ManualStepsCount, Week = lastDataUser.ManualStepsCount, Total = lastDataUser.ManualStepsCount
                },
                RootCounter = new CountValues {
                    Day = lastDataUser.RootCounter, Week = lastDataUser.RootCounter, Total = lastDataUser.RootCounter
                },
                TotalEarned = new CountValues {
                    Day = lastDataUser.TotalEarned, Week = lastDataUser.TotalEarned, Total = lastDataUser.TotalEarned
                },
            };

            if (userHistoreTotal.Count >= 2)
            {
                // add the values for the day
                // var dataExtreme= lastRecordHistory.Data.Subtract(period);
                TimeSpan periodDay        = new TimeSpan(1, 0, 0, 0);
                var      userHistoryDay   = userHistoreTotal.FindAll(t => t.Data >= lastDataUser.Data.Subtract(periodDay)).OrderBy(t => t.Data);
                var      firstDataUserDay = userHistoryDay.FirstOrDefault();
                userRatingNew.ManualStepsCount.Day = lastDataUser.ManualStepsCount - firstDataUserDay.ManualStepsCount;
                userRatingNew.RootCounter.Day      = lastDataUser.RootCounter - firstDataUserDay.RootCounter;
                userRatingNew.TotalEarned.Day      = lastDataUser.TotalEarned - firstDataUserDay.TotalEarned;

                //add the values for the 7 day
                TimeSpan periodWeek        = new TimeSpan(7, 0, 0, 0);
                var      userHistoryWeek   = userHistoreTotal.FindAll(t => t.Data >= lastDataUser.Data.Subtract(periodWeek)).OrderBy(t => t.Data);
                var      firstDataUserWeek = userHistoryDay.FirstOrDefault();
                userRatingNew.ManualStepsCount.Week = lastDataUser.ManualStepsCount - firstDataUserDay.ManualStepsCount;
                userRatingNew.RootCounter.Week      = lastDataUser.RootCounter - firstDataUserWeek.ManualStepsCount;
                userRatingNew.TotalEarned.Total     = lastDataUser.TotalEarned - firstDataUserWeek.TotalEarned;
            }
            return(userRatingNew);
        }