예제 #1
0
        public async Task <IActionResult> Rent(RentAddModel model, string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;
            if (ModelState.IsValid)
            {
                var rentModel = new Rental
                {
                    RentalStart       = model.RentStart,
                    RentalEnd         = model.RentEnd,
                    RentalEquipmentID = model.EquipmentID,
                    RentalUserID      = model.UserID
                };
                await _context.Rentals.AddAsync(rentModel);

                var result = await _context.SaveChangesAsync();

                var updateEquipData = await _context.Equipments.FirstOrDefaultAsync(x => x.EquipmentID == model.EquipmentID);

                updateEquipData.RentID = rentModel.RentalID;

                result = await _context.SaveChangesAsync();

                if (result > 0)
                {
                    return(RedirectToAction("Index", "Rental"));
                }
            }
            return(View(model));
        }
예제 #2
0
        public async Task <IActionResult> Rent(int?id, string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;
            var user = await _context.Users.FirstOrDefaultAsync(x => x.UserName.Equals(User.Identity.Name));

            if (!id.HasValue)
            {
                var notRentedEquipmentList = await _context.Equipments.Where(x => !x.RentID.HasValue).ToListAsync();

                if (notRentedEquipmentList.Any())
                {
                    var rent = new RentAddModel()
                    {
                        UserID   = user.Id,
                        Username = User.Identity.Name
                    };
                    foreach (var item in notRentedEquipmentList)
                    {
                        rent.EquipmentList.Add(new SelectListItem
                        {
                            Value = item.EquipmentID.ToString(),
                            Text  = item.EquipmentName
                        });
                    }

                    return(View(rent));
                }
                return(RedirectToAction("NotAvaliable", "Error"));
            }
            else
            {
                var equipment = await _context.Equipments.FirstOrDefaultAsync(x => x.EquipmentID == id);

                var rent = new RentAddModel
                {
                    UserID   = user.Id,
                    Username = User.Identity.Name
                };
                rent.EquipmentList.Add(new SelectListItem
                {
                    Value = equipment.EquipmentID.ToString(),
                    Text  = equipment.EquipmentName
                });
                return(View(rent));
            }
        }