public ActionResult ViewCharges(int id) { ApplicationDbContext db = new ApplicationDbContext(); CustomerPickupViewModel viewModel = new CustomerPickupViewModel(); var unpaidPickups = db.Pickups.Where(p => p.CustomerId == id && p.Charged == true && p.Paid == false); var pickupsWithCustomers = unpaidPickups.Join(db.Customers, p => p.CustomerId, c => c.Id, (p, c) => new { p, c }); var pickupsConverted = pickupsWithCustomers.Select(a => new CustomerPickup { Pickup = a.p, Customer = a.c }).ToList(); viewModel.CustomerId = id; viewModel.CustomerPickup = pickupsConverted; DateTime firstDayOfMonth = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); var currentMonthPickups = unpaidPickups.Where(p => p.Date >= firstDayOfMonth).ToList(); if (currentMonthPickups.Count > 0) { viewModel.CurrentMonthCharges = currentMonthPickups.Sum(p => p.Price); } else { viewModel.CurrentMonthCharges = 0; } viewModel.OutstandingBalance = db.Customers.Find(id).MoneyOwed - viewModel.CurrentMonthCharges; return(View(viewModel)); }
// GET: Employee/Details/5 public ActionResult Details(int id) { ApplicationDbContext db = new ApplicationDbContext(); CustomerPickupViewModel viewModel = new CustomerPickupViewModel(); var customerPickup = db.Pickups.Where(p => id == p.Id).Join(db.Customers, p => p.CustomerId, c => c.Id, (p, c) => new { p, c }).Select(a => new CustomerPickup { Pickup = a.p, Customer = a.c }).ToList(); viewModel.CustomerPickup = customerPickup; viewModel.EmployeeId = viewModel.CustomerPickup[0].Pickup.EmployeeId; viewModel.DayChosen = viewModel.CustomerPickup[0].Pickup.Date.DayOfWeek.ToString(); return(View(viewModel)); }
// GET: Employee public ActionResult Index(int id, string dayChosen = "Today") { ApplicationDbContext db = new ApplicationDbContext(); CustomerPickupViewModel viewModel = new CustomerPickupViewModel(); viewModel.EmployeeId = id; SchedulePickupsIfNotScheduled(); DateTime dateChosen = ConvertDateChosen(dayChosen); DateTime endOfDayChosen = dateChosen.AddDays(1); var futurePickups = db.Pickups.Where(p => p.EmployeeId == id && p.Date >= dateChosen && p.Date < endOfDayChosen).ToList(); var pickupsWithCustomers = futurePickups.Join(db.Customers, p => p.CustomerId, c => c.Id, (p, c) => new { p, c }); var pickupsConverted = pickupsWithCustomers.Select(a => new CustomerPickup { Pickup = a.p, Customer = a.c }).ToList(); viewModel.CustomerPickup = pickupsConverted; viewModel.DateViewing = dateChosen; return(View(viewModel)); }