public IActionResult ProductSales(DateViewModel model) { if (model.dateFrom != null && model.dateTo != null) { if (model.dateFrom <= model.dateTo) { var sales = _saleLogic.Read(model); var products = _productLogic.Read(null); var result = new Dictionary <string, int>(); foreach (var product in products) { result[product.Name] = 0; } if (products != null) { foreach (var sale in sales) { foreach (var tp in sale.TableProducts) { foreach (var product in products) { if (tp.Product == product) { result[product.Name] += tp.Amount; } } } } ViewBag.Result = result; ViewBag.Products = products; } } } return(View("ProductSales", model)); }
public IActionResult Index(DateViewModel model) { if (model.dateFrom != null) { model.dateTo = model.dateFrom.Date.AddDays(7); model.dateFrom = model.dateFrom.Date; var sales = _saleLogic.Read(model); var productsList = new List <(Sale, IEnumerable <IGrouping <string, Product> >)>(); foreach (var sale in sales) { var products = new List <Product>(); foreach (var tp in sale.TableProducts) { products.Add(tp.Product); } productsList.Add((sale, products.GroupBy(pr => pr.ProductGroup.Name))); } ViewBag.ProductsList = productsList; if (model.saveWord) { ExportLogic.CreateDocAnalysis(new Logic.HelperModels.WordInfo { FileName = "Analysis.docx", Title = "Ведомость продаж" }, productsList); } } return(View("Index", model)); }