Inventory and Type reports
This commit is contained in:
@@ -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());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user