Ejemplo n.º 1
0
        // GET: Orders/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var order = await _context.Orders.FindAsync(id);

            GearOrderViewModel ViewModel = new GearOrderViewModel();

            ViewModel.Order = new Order();
            ViewModel.Gear  = new Gear();

            var gear = await _context.Gears
                       .Include(g => g.Category)
                       .Include(g => g.Condition)
                       .Include(g => g.User)
                       .Include(g => g.Orders)
                       .SingleOrDefaultAsync(m => m.GearId == order.GearId);

            ViewModel.Gear  = gear;
            ViewModel.Order = order;

            if (order == null)
            {
                return(NotFound());
            }
            ViewData["BorrowerId"] = new SelectList(_context.ApplicationUsers, "Id", "Id", order.BorrowerId);
            ViewData["GearId"]     = new SelectList(_context.Gears, "GearId", "Make", order.GearId);
            ViewData["RenterId"]   = new SelectList(_context.ApplicationUsers, "Id", "Id", order.RenterId);
            return(View(ViewModel));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Create(GearOrderViewModel ViewModel)

        {
            var gear = await _context.Gears
                       .Include(g => g.Category)
                       .Include(g => g.Condition)
                       .Include(g => g.User)
                       .SingleOrDefaultAsync(m => m.GearId == ViewModel.Order.GearId);

            ModelState.Remove("Order.RenterId");
            var user = await GetCurrentUserAsync();

            ViewModel.Order.RenterId   = user.Id;
            ViewModel.Order.BorrowerId = gear.UserId;
            //order.GearId = ReservedGearId;
            ViewModel.Order.DateCreated = DateTime.Now;
            gear.Rented = true;


            if (ModelState.IsValid)
            {
                _context.Update(gear);
                _context.Add(ViewModel.Order);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(AllRentals)));
            }
            ViewData["BorrowerId"] = new SelectList(_context.ApplicationUsers, "Id", "Id", ViewModel.Order.BorrowerId);
            //ViewData["GearId"] = new SelectList(_context.Gears, "GearId", "Make", order.GearId);
            return(View(ViewModel));
        }
Ejemplo n.º 3
0
        // GET: Rented Out Orders
        public async Task <IActionResult> RentedOutOrders(int ReservedGearId)
        {
            ViewData["BorrowerId"] = new SelectList(_context.ApplicationUsers, "Id", "FirstName");
            //ViewBag.gear = _context.Gears.FirstOrDefaultAsync(m => m.GearId == ReservedGearId);



            GearOrderViewModel ViewModel = new GearOrderViewModel();

            ViewModel.Order = new Order();
            ViewModel.Gear  = new Gear();

            var gear = await _context.Gears
                       .Include(g => g.Category)
                       .Include(g => g.Condition)
                       .Include(g => g.User)
                       .SingleOrDefaultAsync(m => m.GearId == ReservedGearId);

            var order = await _context.Orders
                        .Include(o => o.Borrower)
                        .Include(o => o.Gear)
                        .Include(o => o.Renter)
                        .FirstOrDefaultAsync(m => m.GearId == ReservedGearId);

            ViewModel.Gear  = gear;
            ViewModel.Order = order;
            return(View(ViewModel));
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> CompleteRentedOutOrders(int id)
        {
            var order = await _context.Orders
                        .Include(o => o.Borrower)
                        .Include(o => o.Gear)
                        .Include(o => o.Renter)
                        .FirstOrDefaultAsync(m => m.OrderId == id);

            var gear = await _context.Gears
                       .Include(g => g.Category)
                       .Include(g => g.Condition)
                       .Include(g => g.User)
                       .SingleOrDefaultAsync(m => m.GearId == order.GearId);

            var ViewModel = new GearOrderViewModel();

            ViewModel.Gear  = gear;
            ViewModel.Order = order;

            if (id != order.OrderId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    order.Completed = true;
                    gear.Rented     = false;
                    _context.Update(gear);
                    _context.Update(order);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!OrderExists(order.OrderId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["BorrowerId"] = new SelectList(_context.ApplicationUsers, "Id", "Id", order.BorrowerId);
            ViewData["GearId"]     = new SelectList(_context.Gears, "GearId", "Make", order.GearId);
            ViewData["RenterId"]   = new SelectList(_context.ApplicationUsers, "Id", "Id", order.RenterId);
            return(View(ViewModel));
        }
Ejemplo n.º 5
0
        // GET: Orders/Create
        public async Task <IActionResult> Create(int ReservedGearId)
        {
            ViewData["BorrowerId"] = new SelectList(_context.ApplicationUsers, "Id", "FirstName");
            //ViewBag.gear = _context.Gears.FirstOrDefaultAsync(m => m.GearId == ReservedGearId);



            GearOrderViewModel ViewModel = new GearOrderViewModel();

            ViewModel.Order = new Order();
            ViewModel.Gear  = new Gear();

            var gear = await _context.Gears
                       .Include(g => g.Category)
                       .Include(g => g.Condition)
                       .Include(g => g.User)
                       .SingleOrDefaultAsync(m => m.GearId == ReservedGearId);

            ViewModel.Gear             = gear;
            ViewModel.Order.GearId     = ReservedGearId;
            ViewModel.Order.PickupDate = DateTime.Now;
            ViewModel.Order.ReturnDate = DateTime.Now;
            return(View(ViewModel));
        }