Files
InventoryTracker/InventoryTraker.Web/Controllers/TransactionController.cs
T
2016-08-29 14:43:26 -04:00

52 lines
1.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using AutoMapper;
using AutoMapper.QueryableExtensions;
using InventoryTraker.Web.ActionResults;
using InventoryTraker.Web.Core;
using InventoryTraker.Web.Data;
using InventoryTraker.Web.Models;
namespace InventoryTraker.Web.Controllers
{
public class TransactionController : ControllerBase
{
private readonly AppDbContext _context;
public TransactionController(AppDbContext context)
{
_context = context;
}
public ActionResult Index()
{
return View();
}
public JsonResult All()
{
var viewModels =
_context.Transactions
.ProjectTo<TransactionViewModel>()
.ToArray();
return BetterJson(viewModels);
}
public JsonResult GetTransactions(int pageNumber, int pageSize)
{
var viewModels =
_context.Transactions
.OrderByDescending(t => t.Timestamp)
.Skip((pageNumber - 1) * pageSize)
.Take(pageSize)
.ProjectTo<TransactionViewModel>()
.ToArray();
var count = _context.Transactions.Count();
return BetterJson(new {totalItems = count, transactions = viewModels});
}
}
}