52 lines
1.1 KiB
C#
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});
|
|
}
|
|
}
|
|
} |