public ActionResult Rent(RentalValidation rentalValidation) { var passToView = new RentalViewModel() { SelectedCustomer = rentalValidation.SelectedCustomer, SelectedVehicle = rentalValidation.SelectedVehicle, Vehicles = _context.Vehicles.Where(c => c.IsAvailable == true).ToList(), Customers = _context.Customers.ToList() }; if (!ModelState.IsValid) { return(View("Index", passToView)); } var activeRentalObject = new ActiveRental(); var vehicle = _context.Vehicles.Include(c => c.VehicleType).SingleOrDefault(c => c.Id == rentalValidation.SelectedVehicle); var customer = _context.Customers.Include(c => c.Gender).SingleOrDefault(c => c.Id == rentalValidation.SelectedCustomer); vehicle.IsAvailable = false; customer.IsActive = true; activeRentalObject.CustomerName = customer.Name; activeRentalObject.VehicleNumber = vehicle.Number; activeRentalObject.VehicleName = vehicle.Name; activeRentalObject.IssueTime = DateTime.Now; activeRentalObject.VehicleId = vehicle.Id; activeRentalObject.CustomerId = customer.Id; activeRentalObject.VehicleTypeId = vehicle.VehicleTypeId; _context.ActiveRentals.Add(activeRentalObject); _context.SaveChanges(); return(RedirectToAction("ActiveRentals")); }
public async Task <IActionResult> Post([FromBody] RentalCreateViewModel model) { if (model == null || model.IdFriend <= 0 || model.IdGame <= 0) { return(NoContent()); } var rentalVM = new RentalViewModel(model.IdGame, model.IdFriend, DateTime.Now); var validation = new RentalValidation(_rental, _game, _friend).Validate(rentalVM); if (!validation.IsValid) { return(BadRequest(new Validator(validation))); } var retorno = await _rental.Create(rentalVM); return(Ok(retorno)); }