예제 #1
0
        public async Task <ActionResult> AddOrEdit(int id = 0)
        {
            var client = new HttpClient();

            client.DefaultRequestHeaders.Clear();
            client.BaseAddress = new Uri(ConfigurationManager.AppSettings["WebAPIURL"]);
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Session["TokenNumber"].ToString());
            if (client.DefaultRequestHeaders.Authorization == null)
            {
                return(RedirectToAction("Index", "Login"));
            }

            if (id == 0)
            {
                mvcReserva mvcReserva = new mvcReserva();
                //HttpResponseMessage response = GlobalVariables.WebApiClient.GetAsync("api/Paquetes/").Result;
                var response = await client.GetAsync("api/Paquetes/");

                var jsonString = response.Content.ReadAsStringAsync();
                jsonString.Wait();
                mvcReserva.PaqueteCollection = JsonConvert.DeserializeObject <List <mvcPaquete> >(jsonString.Result);

                //HttpResponseMessage response2 = GlobalVariables.WebApiClient.GetAsync("api/Usuarios/").Result;
                var response2 = await client.GetAsync("api/Usuarios/");

                var jsonString2 = response2.Content.ReadAsStringAsync();
                jsonString2.Wait();
                mvcReserva.UsuarioCollection = JsonConvert.DeserializeObject <List <mvcUsuario> >(jsonString2.Result);
                client.Dispose();
                return(View(mvcReserva));
            }
            else
            {
                mvcReserva mvcReserva = new mvcReserva();
                //HttpResponseMessage response = GlobalVariables.WebApiClient.GetAsync("api/Reservas/" + id.ToString()).Result;
                var response   = client.GetAsync("api/Reservas/" + id.ToString()).Result;
                var jsonString = response.Content.ReadAsStringAsync();
                jsonString.Wait();
                mvcReserva = JsonConvert.DeserializeObject <mvcReserva>(jsonString.Result);

                //HttpResponseMessage response2 = GlobalVariables.WebApiClient.GetAsync("api/Paquetes/").Result;
                var response2   = client.GetAsync("api/Paquetes/").Result;
                var jsonString2 = response2.Content.ReadAsStringAsync();
                jsonString2.Wait();
                mvcReserva.PaqueteCollection = JsonConvert.DeserializeObject <List <mvcPaquete> >(jsonString2.Result);

                //HttpResponseMessage response3 = GlobalVariables.WebApiClient.GetAsync("api/Usuarios/").Result;
                var response3   = client.GetAsync("api/Usuarios/").Result;
                var jsonString3 = response3.Content.ReadAsStringAsync();
                jsonString3.Wait();
                mvcReserva.UsuarioCollection = JsonConvert.DeserializeObject <List <mvcUsuario> >(jsonString3.Result);
                client.Dispose();
                return(View(mvcReserva));
            }
        }
예제 #2
0
        public async Task AddOrEdit(mvcReserva newReserva)
        {
            var client = new HttpClient();

            client.DefaultRequestHeaders.Clear();
            client.BaseAddress = new Uri(ConfigurationManager.AppSettings["WebAPIURL"]);
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Session["TokenNumber"].ToString());

            if (newReserva.ReservaId == 0)
            {
                //HttpResponseMessage response = GlobalVariables.WebApiClient.PostAsJsonAsync("api/Reservas", newReserva).Result;
                var response = await client.PostAsJsonAsync("api/Reservas", newReserva);

                if (response.IsSuccessStatusCode)
                {
                    HttpContext.Response.StatusCode = 200;
                }
                else
                {
                    HttpContext.Response.StatusCode = 402;
                }
                client.Dispose();
            }
            else
            {
                //HttpResponseMessage response = GlobalVariables.WebApiClient.PutAsJsonAsync("api/Reservas/" + newReserva.ReservaId, newReserva).Result;
                var response = await client.PutAsJsonAsync("api/Reservas/" + newReserva.ReservaId, newReserva);

                if (response.IsSuccessStatusCode)
                {
                    HttpContext.Response.StatusCode = 201;
                }
                else
                {
                    HttpContext.Response.StatusCode = 400;
                }
                client.Dispose();
            }
        }