public ActionResult IndexType() { var expensesTypeList = GetAllCategories(); ExpenseIndexModel cim1 = new ExpenseIndexModel { ExpenseTypeList = expensesTypeList }; return(View(cim1)); }
//[OutputCache(Duration = 3600, VaryByParam = "id")] public ActionResult Index(int?id, DateTime?startDate, DateTime?endDate) { if (startDate.HasValue && endDate.HasValue) { if (startDate.Value == endDate.Value) { var newDate = startDate.Value.AddDays(1); endDate = new DateTime(newDate.Year, newDate.Month, newDate.Day, 0, 0, 1); } } if (!startDate.HasValue) { startDate = DateTime.Now.AddMonths(-1); } if (!endDate.HasValue) { endDate = DateTime.Now.AddMonths(1); } ExpenseIndexModel cim = new ExpenseIndexModel(); cim.ReportName = "Discounts"; if (id.HasValue) { var items = GetAllItems().Where(x => x.ExpenseDate >= startDate && x.ExpenseDate <= endDate); items = items.ToList(); cim.ExpenseList = items; cim.FileToDownloadPath = GenerateExcelSheetExpenses(cim, cim.ReportName); return(View("ProductAlerts", cim)); } var items1 = GetAllItems().Where(x => x.ExpenseDate >= startDate && x.ExpenseDate <= endDate); cim.ExpenseList = items1; cim.FileToDownloadPath = GenerateExcelSheetExpenses(cim, cim.ReportName); return(View(cim)); }
//[OutputCache(Duration = 3600, VaryByParam = "id")] public ActionResult Index(int?id, DateTime?startDate, DateTime?endDate) { if (startDate.HasValue && endDate.HasValue) { if (startDate.Value == endDate.Value) { var newDate = startDate.Value.AddDays(1); endDate = new DateTime(newDate.Year, newDate.Month, newDate.Day, 0, 0, 1); } } if (!startDate.HasValue) { startDate = DateTime.Now.AddMonths(-1); } if (!endDate.HasValue) { endDate = DateTime.Now.AddMonths(1); } if (id.HasValue) { var items = GetAllItems().Where(x => x.ExpenseDate >= startDate && x.ExpenseDate <= endDate); items = items.ToList(); ExpenseIndexModel cim = new ExpenseIndexModel { ExpenseList = items }; return(View("ProductAlerts", cim)); } var items1 = GetAllItems().Where(x => x.ExpenseDate >= startDate && x.ExpenseDate <= endDate); ExpenseIndexModel cim1 = new ExpenseIndexModel { ExpenseList = items1 }; return(View(cim1)); }
private string GenerateExcelSheetExpenses(ExpenseIndexModel model, string reportName) { DataTable dt = new DataTable(); dt.Columns.AddRange(new DataColumn[5] { new DataColumn("Date", typeof(string)), new DataColumn("Description", typeof(string)), new DataColumn("Staff", typeof(string)), new DataColumn("Status", typeof(string)), new DataColumn("Amount (NGN)", typeof(string)) }); int p = 1; foreach (var ru in model.ExpenseList.OrderByDescending(x => x.ExpenseDate)) { dt.Rows.Add(ru.ExpenseDate, ru.Description, ru.DisplayName, ru.ExpenseTypeName, ru.Amount); p++; } dt.Rows.Add("Total", "", "", "", model.ExpenseList.Sum(x => x.Amount)); var fileName = "_" + reportName; var fileNameToUse = fileName + ".xlsx"; var path = Path.Combine(Server.MapPath("~/Products"), fileNameToUse); //Codes for the Closed XML using (XLWorkbook wb = new XLWorkbook()) { wb.Worksheets.Add(dt, reportName); wb.SaveAs(path); } return(fileName); }