public async Task <ActionResult> Edit(int id) { try { var cabinReservation = await _service.GetCabinReservation(User, id); // Dont allow edit if ReservationStartDate is earlier than tomorrow if (cabinReservation.ReservationStartDate < DateTime.Now.AddDays(1)) { ViewBag.ErrorMessage = "Muokkaus ei sallittua, varauksen alkamispäivämäärä on huomenna tai aiemmin"; return(View("ErrorPage")); } // Adding empty ActivityReservations in CabinReservation until there is 9 total ActivityReservation activityReservation = new ActivityReservation(); int activityReservationsToAdd = 9 - cabinReservation.ActivityReservations.Count(); for (int i = 0; i < activityReservationsToAdd; i++) { cabinReservation.ActivityReservations.Add(activityReservation); } ViewBag.Cabin = await _service.GetCabin(cabinReservation.CabinId); if (cabinReservation == null) { return(View("ErrorPage")); } return(View(cabinReservation)); } catch { return(View("ErrorPage")); } }
//------------------------------------------------------------------------------------ ActivityReservation URL:s // Returns Url by ActivityReservation // CabinReservation.Cabin.Resort.ResortName, Activity.ActivityName, Activity.ActivityProvider, CabinReservation.Person.LastName, Starting for and Ending for // Sets parametres to - if parameter is null public static string ActivityReservationsByConditions(ActivityReservation activityReservation) { var startDate = activityReservation.CabinReservation.ReservationStartDate.ToString("MM'-'dd'-'yyyy"); var endDate = activityReservation.CabinReservation.ReservationEndDate.ToString("MM'-'dd'-'yyyy"); if (activityReservation.CabinReservation.Cabin.Resort.ResortName == null) { activityReservation.CabinReservation.Cabin.Resort.ResortName = "-"; } if (activityReservation.Activity.ActivityName == null) { activityReservation.Activity.ActivityName = "-"; } if (activityReservation.Activity.ActivityProvider == null) { activityReservation.Activity.ActivityProvider = "-"; } if (activityReservation.CabinReservation.Person.LastName == null) { activityReservation.CabinReservation.Person.LastName = "-"; } if (activityReservation.CabinReservation.ReservationStartDate == DateTime.MinValue) { startDate = "-"; } if (activityReservation.CabinReservation.ReservationEndDate == DateTime.MinValue) { endDate = "-"; } return($"api/ActivityReservations/{activityReservation.CabinReservation.Cabin.Resort.ResortName}/{activityReservation.Activity.ActivityName}/{activityReservation.Activity.ActivityProvider}/{activityReservation.CabinReservation.Person.LastName}/{startDate}/{endDate}"); }
public async Task <ActionResult> Create(int id) { ViewBag.Cabin = await _service.GetCabin(id); if (User.IsInRole("Administrator")) { // Getting persons in dropdownmenu var persons = await _service.GetPersons(User, "-", "-"); List <SelectListItem> Persons = new List <SelectListItem>(); foreach (var item in persons) { Persons.Add(new SelectListItem { Value = item.PersonId.ToString(), Text = item.FirstName + " " + item.LastName }); } ViewBag.Persons = Persons; } // Creating empty Model to view CabinReservation cabinReservation = new CabinReservation(); // Adding 9 empty ActivityReservations in CabinReservation List <ActivityReservation> activityReservations = new List <ActivityReservation>(); ActivityReservation activityReservation = new ActivityReservation(); for (int i = 0; i < 9; i++) { activityReservations.Add(activityReservation); } cabinReservation.ActivityReservations = activityReservations; return(View(cabinReservation)); }
public async Task <IActionResult> PutActivityReservation(int id, ActivityReservation activityReservation) { if (id != activityReservation.ActivityReservationId) { return(BadRequest()); } _context.Entry(activityReservation).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ActivityReservationExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> Index(ActivityReservation activityReservation, int pageNumber) { var activityReservations = await _service.GetActivityReservations(User, activityReservation); ViewBag.FirstEntry = false; var pageNumbers = 1; var pageSize = 10; if (activityReservations != null) { // Counting page numbers if (activityReservations.Count() > pageSize) { pageNumbers += activityReservations.Count() / pageSize; if (activityReservations.Count() % pageSize == 0) { pageNumbers--; } } if (pageNumber == 0) { pageNumber = 1; } activityReservations = activityReservations.Skip((pageNumber - 1) * pageSize) .Take(pageSize); ViewBag.PageNumbers = pageNumbers; ViewBag.PageNumber = pageNumber; // Getting CabinReservations in ActivityReservations, because JsonIgnore-attribute in ActivityReservation.CabinReservation foreach (var item in activityReservations) { item.CabinReservation = await _service.GetCabinReservation(User, item.CabinReservationId); } ViewBag.ActivityReservations = activityReservations; } if (activityReservation.CabinReservation.ReservationStartDate != DateTime.MinValue) { ViewBag.Starting = activityReservation.CabinReservation.ReservationStartDate.ToString("dd'.'MM'.'yyyy"); } if (activityReservation.CabinReservation.ReservationEndDate != DateTime.MinValue) { ViewBag.Ending = activityReservation.CabinReservation.ReservationEndDate.ToString("dd'.'MM'.'yyyy"); } return(View()); }
//-------------------------------------------------------------------------------------------------- PostalCodes End //-------------------------------------------------------------------------------------------------- ActivityReservations // Returns ActivityReservations by ClaimsPrincipal and ActivityReservation // User must be role Administrator to execute API-call public async Task <IEnumerable <ActivityReservation> > GetActivityReservations(ClaimsPrincipal user, ActivityReservation activityReservation) { var token = GenerateToken(user); defaultClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token); string url = ApiUrls.ActivityReservationsByConditions(activityReservation); var response = await defaultClient.GetAsync(url); if (response.StatusCode == System.Net.HttpStatusCode.OK) { using var responseStream = await response.Content.ReadAsStreamAsync(); return(await JsonSerializer.DeserializeAsync <IEnumerable <ActivityReservation> >(responseStream, caseInsensitiveOptions)); } return(null); }
public async Task <ActionResult <ActivityReservation> > PostActivityReservation(ActivityReservation activityReservation) { try { _context.ActivityReservation.Add(activityReservation); await _context.SaveChangesAsync(); return(CreatedAtAction("GetActivityReservation", new { id = activityReservation.ActivityReservationId }, activityReservation)); } catch { return(StatusCode(500)); } }