public IActionResult BookingForm(int id, int?persons) { var formModel = new BookingFormViewModel(); Accommodation accommodation; try { accommodation = _accommodationManager.GetAccommodation(id); formModel.AccommodationId = accommodation.Id; formModel.AccommodationName = accommodation.Name; } catch (KeyNotFoundException) { return(NotFound()); } formModel.Persons = new List <BookingPerson>(); //If an amount of persons was given, use it. //Otherwise, get the maximum persons from the Accommodation. int maxPersons; if (persons.HasValue && persons.Value <= accommodation.MaxPersons) { maxPersons = persons.Value; } else { maxPersons = accommodation.MaxPersons; } ViewBag.MaxPersons = maxPersons; //Initialize BookingPersons for the form for (int i = 0; i < accommodation.MaxPersons; i++) { formModel.Persons.Add(new BookingPerson()); } //Get countries from db var countries = _countryManager.GetCountries(); ViewBag.Countries = countries; //Get client API key ViewBag.MapApiKey = _mapService.GetApiKey(); return(View("BookingForm", formModel)); }
public IActionResult Edit(long id) { try { return(View(_accommodationManager.GetAccommodation(id))); } catch (KeyNotFoundException) { return(new NotFoundResult()); } }
public IActionResult Get(long id) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = accommodationManager.GetAccommodation(id); if (result == null) { return(NotFound(id)); } return(this.HAL(result, new Link[] { new Link(Link.RelForSelf, $"/api/v1/accommodations/{id}"), new Link("accommodationsList", "/api/v1/accommodations", "Accommodations list"), new Link("updateAccommodation", $"/api/v1/accommodations/{id}", "Update Accommodation", "PUT"), new Link("deleteAccommodation", $"/api/v1/accommodations/{id}", "Delete Accommodation", "DELETE") })); }