Inventory and Type reports

This commit is contained in:
2016-09-22 14:14:12 -04:00
parent 02555eba7e
commit 9f50a4635c
19 changed files with 426 additions and 191 deletions
@@ -8,6 +8,7 @@ using InventoryTraker.Web.Attributes;
using InventoryTraker.Web.Core;
using InventoryTraker.Web.Data;
using InventoryTraker.Web.Models;
using InventoryTraker.Web.Utilities;
namespace InventoryTraker.Web.Controllers
{
@@ -28,7 +29,7 @@ namespace InventoryTraker.Web.Controllers
public JsonResult All()
{
var viewModels =
AllInventory()
CurrentInventory()
.ProjectTo<InventoryViewModel>()
.ToArray();
@@ -42,7 +43,7 @@ namespace InventoryTraker.Web.Controllers
return BetterJson(viewModel);
}
private IQueryable<Inventory> AllInventory()
private IQueryable<Inventory> CurrentInventory()
{
return _context
.Inventories
@@ -50,6 +51,26 @@ namespace InventoryTraker.Web.Controllers
.OrderBy(x => x.InventoryType.Name);
}
public ActionResult Export()
{
var writer = new InventoryReportWriter();
var viewModels =
CurrentInventory()
.ProjectTo<InventoryViewModel>()
.ToArray();
var excel = writer.Write(viewModels);
var filename = $"Inventory{DateTime.Today:yyyyMMdd}.xlsx";
return
new FileContentResult(excel, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
{
FileDownloadName = filename
};
}
[ActionLog]
public JsonResult Add(InventoryAddForm form)
{
@@ -134,7 +155,7 @@ namespace InventoryTraker.Web.Controllers
_context.SaveChanges();
return BetterJson(AllInventory()
return BetterJson(CurrentInventory()
.ProjectTo<InventoryViewModel>()
.ToArray());
}