public async Task <IActionResult> PutReservationAccessorie(int id, ReservationAccessories reservationAccessories) { if (id != reservationAccessories.Id) { return(BadRequest()); } _context.Entry(reservationAccessories).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ReservationAccessorieExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult> Checkout() { GetShoppingCart(); ReservationType reservationType = new ReservationType(); using (var client = new HttpClient()) { client.BaseAddress = new Uri(baseurl); client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage res = await client.GetAsync($"ReservationTypes"); if (res.IsSuccessStatusCode) { var response = res.Content.ReadAsStringAsync().Result; List <ReservationType> reservationTypes = JsonConvert.DeserializeObject <List <ReservationType> >(response); reservationType = reservationTypes.FirstOrDefault(r => r.Type == "Web"); } } var value = HttpContext.Session.GetString("Customer"); int UserId; if (value != null) { Customer customer = JsonConvert.DeserializeObject <Customer>(value); UserId = customer.Id; } else { UserId = 1; } Reservation reservation = new Reservation(); reservation.CustomerId = UserId; reservation.LocationId = cart.LocationId; reservation.OutTime = DateTime.Now; reservation.Price = 10; reservation.TypeId = reservationType.Id; using (var httpClient = new HttpClient()) { httpClient.BaseAddress = new Uri($"{baseurl}Reservations"); //HTTP POST var postTask = httpClient.PostAsJsonAsync <Reservation>("Reservations", reservation); postTask.Wait(); var result = postTask.Result; if (result.IsSuccessStatusCode) { List <Reservation> reservationList = new List <Reservation>(); using (var response = await httpClient.GetAsync($"{baseurl}Reservations")) { string apiResponse = await response.Content.ReadAsStringAsync(); reservationList = JsonConvert.DeserializeObject <List <Reservation> >(apiResponse); HttpResponseMessage res = await httpClient.GetAsync($"Reservations/{reservationList.Max(r => r.Id)}"); if (res.IsSuccessStatusCode) { var resp = res.Content.ReadAsStringAsync().Result; reservation = JsonConvert.DeserializeObject <Reservation>(resp); } } } } using (var httpClient = new HttpClient()) { httpClient.BaseAddress = new Uri($"{baseurl}BikesReserveds"); //HTTP POST foreach (var item in cart.Bicycles) { BikesReserved bikesReserved = new BikesReserved(); bikesReserved.ReservationId = reservation.Id; bikesReserved.BycicleId = item.Id; var postTask = httpClient.PostAsJsonAsync <BikesReserved>("BikesReserveds", bikesReserved); postTask.Wait(); } } using (var httpClient = new HttpClient()) { httpClient.BaseAddress = new Uri($"{baseurl}ReservationAccessories"); //HTTP POST foreach (var item in cart.Accessories) { ReservationAccessories reservationAccessories = new ReservationAccessories(); reservationAccessories.ReservationId = reservation.Id; reservationAccessories.AccessoryId = item.Id; var postTask = httpClient.PostAsJsonAsync <ReservationAccessories>("ReservationAccessories", reservationAccessories); postTask.Wait(); } } cart.Checkout(); return(View()); }
public async Task <ActionResult <ReservationAccessories> > PostReservationAccessorie(ReservationAccessories reservationAccessories) { _context.ReservationAccessories.Add(reservationAccessories); await _context.SaveChangesAsync(); return(CreatedAtAction("GetReservationAccessorie", new { id = reservationAccessories.Id }, reservationAccessories)); }