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));
        }
Exemple #2
0
        // 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));
        }
Exemple #3
0
        // 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));
        }