コード例 #1
0
        public async Task <IActionResult> PutBikesReserved(int id, BikesReserved bikesReserved)
        {
            if (id != bikesReserved.Id)
            {
                return(BadRequest());
            }

            _context.Entry(bikesReserved).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BikesReservedExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
コード例 #2
0
        public async Task <ActionResult <BikesReserved> > PostBikesReserved(BikesReserved bikesReserved)
        {
            _context.BikesReserved.Add(bikesReserved);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetBikesReserved", new { id = bikesReserved.Id }, bikesReserved));
        }
コード例 #3
0
        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());
        }