public override void Update(object sender, Tuple<Sale, SaleState> item)
        {
            using (SalesDBEntities context = new SalesDBEntities())
            {
                Product product = context.Products
                    .Where(p => p.ProductID == item.Item1.ProductID)
                    .SingleOrDefault<Product>();

                switch (item.Item2)
                {
                    case SaleState.SALE_ADD:
                        product.TotalSalesAmount += item.Item1.Quantity;
                        break;
                    case SaleState.SALE_UPDATE:
                        product.TotalSalesAmount = item.Item1.Quantity;
                        break;
                    case SaleState.SALE_DELETE:
                        product.TotalSalesAmount -= item.Item1.Quantity;
                        break;
                    default:
                        break;
                }   
                context.SaveChanges();
            }
        }
 public ViewResult Index()
 {
     List<Sale> sales = new List<Sale>();
     using (SalesDBEntities context = new SalesDBEntities())
     {
         sales = context.Sales
             .Include(s => s.Employee)
             .Include(s => s.Customer)
             .Include(s => s.Product)
             .Take(100).ToList<Sale>();
         SalesViewModel viewModel = new SalesViewModel();
         viewModel.Sales = sales;
         return View(viewModel);
     }
 }