public List <TurnoverPerGenre> TurnoverPerGenre()
        {
            List <TurnoverPerGenre> turnoverPerGenre = new List <TurnoverPerGenre>();
            List <int> ls = new List <int>();

            foreach (var order in orepository.Orders)
            {
                foreach (var cartline in order.Lines)
                {
                    for (int i = 0; i < cartline.Quantity; i++)
                    {
                        ls.Add(cartline.Game.ID);
                    }
                }
            }
            var GenreTotalCost =
                from Game in repository.Games
                where ls.Contains(Game.ID)
                group Game by Game.Genre into GameGroup
                select new
            {
                Genre       = GameGroup.Key,
                TotalProfit = GameGroup.Sum(x => x.PriceFinal),
            };

            foreach (var s in GenreTotalCost)
            {
                turnoverPerGenre.Add(new TurnoverPerGenre {
                    Genre       = s.Genre,
                    TotalProfit = Convert.ToDouble(s.TotalProfit)
                });
            }

            return(turnoverPerGenre);
        }
        //take in list of bo
        public long Total(List <CalculationBO> calculation)
        {
            long value = (from Game in calculation
                          group Game by Game.GameId into GameGroup
                          orderby GameGroup.Sum(g => g.Price) descending
                          select GameGroup.Key).FirstOrDefault();

            return(value);
        }