public IActionResult GetCab(OrderCab carModel) { if (carModel.CarTypeId == -1) { ModelState.AddModelError("OrderCab.CarTypeId", "Please select the Room Type"); } if (ModelState.IsValid) { var check = _repository.GetAllCustomers().Single(q => q.Email == carModel.CustomerEmail); if (check.Password == carModel.Password) { var cabOrders = _repository.GetAllCabOrders() .Where(q => (q.DateOfOrder >= carModel.DateOfOrder && q.DateOfOrder <= carModel.DateOfReturn) || (q.DateOfReturn >= carModel.DateOfOrder && q.DateOfReturn <= q.DateOfReturn) && q.CarTypeId == carModel.CarTypeId); var cars = _repository.GetAllCars(); foreach (var order in cabOrders) { cars = cars.Where(q => q.CarId != order.CarId); } if (cars.Count() > 0) { carModel.CarId = cars.First().CarId; carModel.UniqueOrderId = Guid.NewGuid(); _repository.AddCabOrder(carModel); if (_repository.SaveChanges()) { ViewBag.GetCab = "Please get keys at the front desk for " + cars.First().RegistrationNumber; ModelState.Clear(); } } else { ViewBag.GetCab = "Sorry selected cars are not available at given dates"; } } else { ViewBag.GetCab = "Invalid Email or Password"; } ViewBag.CarRequest = "Thanks!"; ModelState.Clear(); } ViewBag.Cars = _car.CarTypes(_repository.GetAllCarTypes()); return(View()); }
public IEnumerable <OrderCab> GetCabOrders() { return(_repository.GetAllCabOrders()); }
public IEnumerable <OrderCab> CabOrders() { return(_repository.GetAllCabOrders().Where(q => q.CustomerEmail == _email)); }