public IActionResult AddCarType(CarType carType) { if (ModelState.IsValid) { var check = _repository.GetAllCarTypes() .Where(q => q.Make == carType.Make && q.Model == carType.Model); if (check.Count() > 0) { ViewBag.CarType = "Car Model already exists!"; } else { _repository.AddCarType(carType); if (_repository.SaveChanges()) { ViewBag.CarType = "Successfull!"; ModelState.Clear(); } else { ViewBag.CarType = "Oops! Could not save data"; } } } return(View()); }
//[ValidateAntiForgeryToken] public IActionResult GetRoom(ServiceGetRoomViewModel roomModel) { if (roomModel.OrderRoom.RoomTypeId == -1) { ModelState.AddModelError("OrderRoom.RoomTypeId", "Please select the Room Type"); } if (roomModel.Customer.Age == false) { ModelState.AddModelError("Customer.Age", "Sorry you must not be below 21 years old"); } if (roomModel.OrderRoom.TermsAndConditions == false) { ModelState.AddModelError("OrderRoom.TermsAndConditions", "We need to see your Id"); } if (ModelState.IsValid) { var check = _repository.GetAllCustomers() .Where(q => q.Email == roomModel.Customer.Email); if (check.Count() > 0) { ViewBag.GetRoom = "Email is already taken! \nIf you ever booked a room or event, you can log in!"; } else { _repository.AddCustomer(roomModel.Customer); if (_repository.SaveChanges()) { var roomOrders = _repository.GetAllRoomOrders() .Where(q => (q.DateOfArrival >= roomModel.OrderRoom.DateOfArrival && q.DateOfArrival <= roomModel.OrderRoom.DateOfDeperture) || (q.DateOfDeperture >= roomModel.OrderRoom.DateOfArrival && q.DateOfDeperture <= q.DateOfDeperture)); var rooms = _repository.GetAllRooms(); foreach (var order in roomOrders) { rooms = rooms.Where(q => q.RoomId != order.RoomId); } if (rooms.Count() > 0) { roomModel.OrderRoom.RoomId = rooms.First().RoomId; roomModel.OrderRoom.CustomerEmail = roomModel.Customer.Email; roomModel.OrderRoom.UniqueOrderId = Guid.NewGuid(); _repository.AddRoomOrder(roomModel.OrderRoom); if (_repository.SaveChanges()) { ViewBag.GetRoom = "Thank you!"; ModelState.Clear(); } else { ViewBag.GetRoom = "Oops! Could not place order"; } } else { ViewBag.GetRoom = "Rooms are not available"; } } else { ViewBag.GetRoom = "Oops! Could not Save data"; } } } ViewBag.RoomTypes = _room.RoomTypes(_repository.GetAllRoomTypes()); return(View(new ServiceGetRoomViewModel())); }