// GET: Sites public async Task <IActionResult> Index(int?id, int?status, string customerID) { var userID = _userManager.GetUserId(User); var customerCID = string.IsNullOrEmpty(customerID) ? userID : customerID; Deposit deposit = null; if (id != null && id > 0) { deposit = await _depositRepository.FindByID(customerCID); deposit.DepositID = 1; } if (status != null && status > 0) { ViewBag.Status = true; ViewBag.Message = status == 1 ? "Desposited" : "Updated"; } Deposit depositDetails = await _depositRepository.FindByID(customerCID); ViewData["DepositList"] = User.IsInRole("Admin") ? await _depositRepository.FindAll() : await _depositRepository.FindAll(customerCID); ViewBag.CustomerID = customerCID; ViewBag.LastAmount = depositDetails == null ? 0 : depositDetails.Balance; return(View(deposit)); }
public async Task <List <Order> > FindAllAsync(string userID, bool isAdmin) { userID = isAdmin ? null : userID; List <ApplicationUser> applicationUserList = await _context.ApplicationUsers.ToListAsync(); List <Order> orderList = _context.Orders.ToListAsync().Result. Select(data => new Order { CustomerCID = data.CustomerCID, PriceAmount = data.PriceAmount, TansportAmount = data.TansportAmount, AdvanceBalance = data.AdvanceBalance }).Where(data => data.CustomerCID == userID || userID == null).ToList(); List <Deposit> depositList = _depositRepository.FindAll().Result. Select(data => new Deposit { CustomerID = data.CustomerID, Balance = data.Balance, }).Where(data => data.CustomerID == userID || userID == null).ToList(); var orderedList = from order in orderList join user in applicationUserList on order.CustomerCID equals user.Id join deposit in depositList on order.CustomerCID equals deposit.CustomerID select new Order { CustomerCID = order.CustomerCID, CustomerName = user.FirstName + " " + user.LastName, PriceAmount = order.PriceAmount, TansportAmount = order.TansportAmount, AdvanceBalance = deposit.Balance }; return(orderedList.GroupBy(data => data.CustomerCID) .Select(order => new Order { CustomerCID = order.First().CustomerCID, CustomerName = order.First().CustomerName, PriceAmount = order.Sum(data => data.PriceAmount), TansportAmount = order.Sum(data => data.TansportAmount), AdvanceBalance = order.First().AdvanceBalance, }).ToList()); }