コード例 #1
0
        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));
        }
コード例 #2
0
 public IActionResult Edit(long id)
 {
     try
     {
         return(View(_accommodationManager.GetAccommodation(id)));
     }
     catch (KeyNotFoundException)
     {
         return(new NotFoundResult());
     }
 }
コード例 #3
0
        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")
            }));
        }