public ActionResult ViewSellsBetweenDates(ViewSellsDateViewModel sells)
        {
            if (Request.IsAuthenticated)
            {
                DateTime fromDate = DateTime.Parse(sells.FromDate);
                DateTime toDate   = DateTime.Parse(sells.ToDate);

                if (ModelState.IsValid)
                {
                    if (fromDate > toDate)
                    {
                        ViewBag.Message = 404;
                    }
                    else
                    {
                        ViewBag.Response = stockOutManager.GetSalesBetweenDate(sells);
                        decimal sellPrice = stockOutManager.GetTotalPriceByDateRange(sells);
                        ViewBag.SellPrice = sellPrice;
                        decimal basePrice = stockOutManager.GetBasePriceByProduct(sells);
                        ViewBag.MainPrice = basePrice;
                        ViewBag.Profit    = sellPrice - basePrice;
                    }
                }
                else
                {
                    ViewBag.Message = 0;
                }

                return(View());
            }
            else
            {
                return(HttpNotFound());
            }
        }
Ejemplo n.º 2
0
        public List <SellsViewModels> GetSellsByDate(ViewSellsDateViewModel date)
        {
            List <SellsViewModels> viewModelses = new List <SellsViewModels>();

            DateTime fromDate = DateTime.Parse(date.FromDate);
            DateTime toDate   = DateTime.Parse(date.ToDate);

            var query = Context.Sells.Where(c => c.Date >= fromDate && c.Date <= toDate)
                        .GroupBy(c => c.ItemId).Select(c => new
            {
                ItemId      = c.Key,
                ItemName    = c.Select(s => s.Item.ItemName).FirstOrDefault(),
                CompanyName = c.Select(s => s.Company.Name).FirstOrDefault(),
                Quantity    = c.Sum(s => s.Quantity),
                TotalPrice  = c.Sum(s => s.Price)
            });

            foreach (var items in query)
            {
                SellsViewModels viewModels = new SellsViewModels();

                viewModels.ItemId      = items.ItemId;
                viewModels.ItemName    = items.ItemName;
                viewModels.CompanyName = items.CompanyName;
                viewModels.Quantity    = items.Quantity;
                viewModels.Price       = items.TotalPrice;

                viewModelses.Add(viewModels);
            }

            return(viewModelses);
        }