Ejemplo n.º 1
0
        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
            }));
        }
Ejemplo n.º 2
0
        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));
        }