public async Task <IActionResult> Index() { var user = await _userManager.GetUserAsync(HttpContext.User); var tt = _userManager.GetRolesAsync(user).Result; if (user == null) { return(RedirectToAction("Login", "Account", new { })); } ViewData["Name"] = user.RealName ?? user.UserName; var pur = _dbContext.GetUserPurchases(user).Cast <Record>().OrderByDescending(x => x.Date).Take(20).ToList(); var sup = _dbContext.GetUserSupplies(user).Cast <Record>().OrderByDescending(x => x.Date).Take(20).ToList(); var purB = _dbContext.GetUserPurchases(user).Sum(x => x.Value); var supB = _dbContext.GetUserSupplies(user).Sum(x => x.Value); var records = pur.Union(sup) .OrderByDescending(x => x.Date) .Take(20) .ToList(); var tableVm = new HistoryTableVM { ShowCategoryColumn = true, Record = records }; return(View(new IndexViewModel { Name = user.UserName, PurchasesTable = tableVm, Balance = supB - purB })); }
public async Task <IActionResult> GetHistoryTable(HistorySettingsVM hvm) { var user = await _userManager.GetUserAsync(HttpContext.User); if (user == null) { return(new StatusCodeResult(403)); } var table = _dbContext.GetUserPurchases(user); var tableVM = new HistoryTableVM { ShowCategoryColumn = false }; DateTime start, end; if (DateTime.TryParse(hvm.StartDate, out start) && DateTime.TryParse(hvm.EndDate, out end)) { table = table.WhereDateBetween(start, end); } PurchaseCategory currCat; if (Enum.TryParse(hvm.Category, out currCat)) { table = table.Where(x => x.Category == currCat); } else if (hvm.Category != "All") { return(new StatusCodeResult(500)); } else { tableVM.ShowCategoryColumn = true; } tableVM.Record = table.Cast <Record>().ToList(); return(PartialView("HistoryTable", tableVM)); }