public HttpResponseMessage Book(Booking booking) { var context = new TimeTableContext(WebConfigurationManager.AppSettings["DbConnectionString"]); var bookingRepository = new BookingRepository(context); var classroomRepository = new ClassroomRepository(context); var service = new BookingService(bookingRepository, classroomRepository); booking.Owner = UserId; var bookingService = service.BookRoom(booking, UserProfile); switch (bookingService) { case BookingAvailability.Success: return(Request.CreateResponse(HttpStatusCode.OK, booking)); case BookingAvailability.Booked: return(Request.CreateResponse(HttpStatusCode.PreconditionFailed, "The room was already booked")); case BookingAvailability.Scheduled: return(Request.CreateResponse(HttpStatusCode.PreconditionFailed, "There was a normal lesson during the time you would like to reserve")); case BookingAvailability.Maintenance: return(Request.CreateResponse(HttpStatusCode.PreconditionFailed, "There is maintenance in this classroom during the time you would like to reserve.")); default: return(null); } }
public ActionResult Edit(BookingModel model) { if (!ModelState.IsValid) { return(View(model)); } if (model.fromDate > model.To) { ModelState.AddModelError("", "From date must be less then to date!"); return(View(model)); } if (model.fromDate < DateTime.Now) { ModelState.AddModelError("", "From date must be greater then today date!"); return(View(model)); } model.UserId = 1; _service.BookRoom(model); return(RedirectToAction("Index")); }