public void GenerateSalesPerCategoryResultFile(CategorySalesReport reportData, string fileName) { var wb = new XLWorkbook(); var ws = wb.Worksheets.Add("Sales per Category"); //Columns ws.Cell("B2").Value = "Category"; ws.Cell("C2").Value = "Quantity"; ws.Cell("D2").Value = "Amount Sold"; int rowCount = 3; foreach (var row in reportData.Report) { string categoryCell = "B" + rowCount; string quantityCell = "C" + rowCount; string totalAmountCell = "D" + rowCount; ws.Cell(categoryCell).Value = row.Category; ws.Cell(quantityCell).Value = row.Quantity; ws.Cell(totalAmountCell).Value = row.TotalAmountSold; rowCount++; } var tableRange = ws.Range("B2", "D" + (rowCount - 1)); var finBalanceTable = tableRange.CreateTable(); finBalanceTable.Theme = XLTableTheme.TableStyleMedium16; ws.Columns().AdjustToContents(); wb.SaveAs(XlsxSettings.Default.SaveDirectory + fileName); }
public void GenerateSalesPerCategoryResultFile(CategorySalesReport reportData, string fileName) { var wb = new XLWorkbook(); var ws = wb.Worksheets.Add("Sales per Category"); //Columns ws.Cell("B2").Value = "Category"; ws.Cell("C2").Value = "Quantity"; ws.Cell("D2").Value = "Amount Sold"; var rowCount = 3; foreach (var row in reportData.Report) { var categoryCell = "B" + rowCount; var quantityCell = "C" + rowCount; var totalAmountCell = "D" + rowCount; ws.Cell(categoryCell).Value = row.Category; ws.Cell(quantityCell).Value = row.Quantity; ws.Cell(totalAmountCell).Value = row.TotalAmountSold; rowCount++; } var tableRange = ws.Range("B2", "D" + (rowCount - 1)); var finBalanceTable = tableRange.CreateTable(); finBalanceTable.Theme = XLTableTheme.TableStyleMedium16; ws.Columns().AdjustToContents(); wb.SaveAs(ExcelSettings.Default.ExcelReportsDestinationFolder + fileName); }
public CategorySalesReport GetSalesByCategory() { var entries = this.msSqlData.Purchases.All() .GroupBy(p => p.Product.Category.Name) .Select(gr => new CategorySalesReportEntry() { Category = gr.Select(p => p.Product.Category.Name).FirstOrDefault(), Quantity = gr.Sum(p => p.Quantity), TotalAmountSold = gr.Sum(p => p.Quantity * p.UnitPrice) }); var resultReport = new CategorySalesReport() { Report = entries }; return(resultReport); }
public CategorySalesReport GetSalesByCategory() { var entries = this.msSqlData.Purchases.All() .GroupBy(p => p.Product.Category.Name) .Select( gr => new CategorySalesReportEntry { Category = gr.Select(p => p.Product.Category.Name).FirstOrDefault(), Quantity = gr.Sum(p => p.Quantity), TotalAmountSold = gr.Sum(p => p.Quantity * p.UnitPrice) }); var resultReport = new CategorySalesReport { Report = entries }; return resultReport; }