public ActionResult BestProducts()
        {
            var bestSoldProducts = _cartLineRepository.GetAllCartLines().GroupBy(c => c.ProductId).Take(5).Select(s => new
            {
                Name  = _productRepository.GetById(s.Key).Name,
                Total = s.Sum(c => c.Quantity)
            }).OrderByDescending(p => p.Total).ToList();
            List <string> xValue = new List <string>();

            bestSoldProducts.ForEach(p => xValue.Add(p.Name));
            List <string> yValue = new List <string>();

            bestSoldProducts.ForEach(p => yValue.Add(p.Total.ToString()));

            new Chart(width: 800, height: 400, theme: ChartTheme.Vanilla3D)
            .AddTitle("Top 5 Best Products")
            .SetXAxis("Product Name")
            .SetYAxis("Total(s)")
            .AddSeries("Products", chartType: "Column", xValue: xValue, yValues: yValue)
            .Write("bmp");
            return(null);
        }