コード例 #1
0
 static async Task RunAsync()
 {
     if (client.BaseAddress == null)
     {
         // Update port # in the following line.
         client.BaseAddress = new Uri(CocontroladorAPI.Initial());
         client.DefaultRequestHeaders.Accept.Clear();
         client.DefaultRequestHeaders.Accept.Add(
             new MediaTypeWithQualityHeaderValue("application/json"));
     }
 }
コード例 #2
0
 static async Task RunAsync()
 {
     if (quesadillas)
     {
         quesadillas = false;
         // Update port # in the following line.
         client.BaseAddress = new Uri(CocontroladorAPI.Initial());
         clientHandler.ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => { return(true); };
         client.DefaultRequestHeaders.Accept.Clear();
         client.DefaultRequestHeaders.Accept.Add(
             new MediaTypeWithQualityHeaderValue("application/json"));
         //correr = false;
     }
 }
コード例 #3
0
        public static List <Inicio> Busqueda(String nombre)
        {
            List <Inicio>  inicio;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create($@"{CocontroladorAPI.Initial()}api/Busqueda/{nombre}");

            try
            {
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                    using (Stream stream = response.GetResponseStream())
                        using (StreamReader reader = new StreamReader(stream))
                        {
                            var json = reader.ReadToEnd();
                            inicio = JsonConvert.DeserializeObject <List <Inicio> >(json);
                        }
                return(inicio);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #4
0
        public static List <MtoCatLibroItem> ListaLibros(String nombre)
        {
            List <MtoCatLibroItem> libros;
            HttpWebRequest         request = (HttpWebRequest)WebRequest.Create($@"{CocontroladorAPI.Initial()}api/Grid/nombre/{nombre}");

            try
            {
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                    using (Stream stream = response.GetResponseStream())
                        using (StreamReader reader = new StreamReader(stream))
                        {
                            var json = reader.ReadToEnd();
                            libros = JsonConvert.DeserializeObject <List <MtoCatLibroItem> >(json);
                        }
                return(libros);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #5
0
        public static UserDetail Usuario(int id)
        {
            UserDetail     usuarios;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create($@"{CocontroladorAPI.Initial()}api/MtoCatUsuarios/{id}");

            try
            {
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                    using (Stream stream = response.GetResponseStream())
                        using (StreamReader reader = new StreamReader(stream))
                        {
                            var json = reader.ReadToEnd();
                            usuarios = JsonConvert.DeserializeObject <UserDetail>(json);
                        }
                return(usuarios);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #6
0
        /// <summary>
        /// ObtenerDatosUsuarios es un controlador donde se crea una request para el controlador y la respuesta se deserializa para tomar unicamente los datos necesarios, funciona tanto con la lista de usuarios completa como con la informacion en detalles de los usuario
        /// </summary>
        /// <returns>regresa un tipo usuario con la informacion recabada en el request</returns>
        public static List <User> Usuarios()
        {
            List <User>    usuario;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create($@"{CocontroladorAPI.Initial()}api/MtoCatUsuarios");

            try
            {
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                    using (Stream stream = response.GetResponseStream())
                        using (StreamReader reader = new StreamReader(stream))
                        {
                            var json = reader.ReadToEnd();
                            usuario = JsonConvert.DeserializeObject <List <User> >(json);
                        }
                return(usuario);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #7
0
        /**
         * Este metodo se encarga de hacer las peticiones a la API por medio de un
         * httpclient, posterior a eso se guardan los datos en un json y se procede a hacer las
         * validaciones correspondientes para sacar los datos correctos de la lista de compras del cliente
         */
        public async Task <IActionResult> Lista_Compras()
        {
            try
            {
                int      contador   = 0;
                DateTime hoy        = DateTime.Today;   //Fecha actual para comparar el dia en el que se hizo la compra
                var      httpClient = new HttpClient(); //Peticion
                //Procedemos a hacer las peticiones a los controladores correspondientes
                var json_Libros = await httpClient.GetStringAsync("https://*****:*****@"{CocontroladorAPI.Initial()}api/DatosCliente/Compras/{_userManager.GetUserId(User)}");

                var json_TraConceptoCompra = await httpClient.GetStringAsync("https://localhost:44341/api/TraConceptoCompra");

                //Convertimos la respuesta de tipo Json a una lista generica
                var LibrosLista       = JsonConvert.DeserializeObject <List <MtoCatLibros> >(json_Libros);
                var TraCompras        = JsonConvert.DeserializeObject <List <TraCompras> >(json_TraCompras);
                var TraConceptoCompra = JsonConvert.DeserializeObject <List <TraConceptoCompra> >(json_TraConceptoCompra);
                //Lista que almacenara los resultados finales
                List <string> ListaResultados = new List <string>();


                foreach (var Compras in TraCompras)             //Recorremos todas las compras del usuario
                {
                    foreach (var Concepto in TraConceptoCompra) //Recorremos las descripciones de cada compra
                    {
                        //Buscamos dentro de las descripciones de compra las que congenien con el id de la compra que buscamos
                        if (Concepto.Idcompra != contador && Compras.Idcompra != contador && Compras.Idcompra == Concepto.Idcompra)
                        {
                            contador = Concepto.Idcompra;                                  //Guardamos el ultimo id de compra para no repetir datos posteriormente

                            ListaResultados.Insert(0, Convert.ToString(Compras.Idcompra)); //folio



                            string estado;//Estado del pedido
                            //Si el pedido esta pagado y se pago hace mas de 3 dias, la compra ya fue entregada
                            if (Compras.Pagado == true && Compras.FechaCompra.Value.DayOfYear + 3 <= hoy.DayOfYear)

                            {
                                estado = "Entregado";
                            }
                            //Si el pedido esta pagado pero no han pasado los 3 dias, la compra esta enviada
                            else if (Compras.Pagado == true)
                            {
                                estado = "Enviado";
                            }
                            //Si el pedido  no esta pagado, la compra esta en proceso
                            else
                            {
                                estado = "Procesando";
                            }
                            ListaResultados.Insert(1, Convert.ToString(Compras.FechaCompra)); //fecha de compra
                            ListaResultados.Insert(2, estado);                                // estado

                            foreach (var Libro in LibrosLista)                                //Recorremos la lista de libros
                            {
                                if (Concepto.Idlibro == Libro.Idlibro)                        //validamos que libro congenia con el libro que se adquirio en la compra
                                {
                                    ListaResultados.Insert(3, Libro.Imagen);                  //Imagen del libro
                                }
                            }
                            ListaResultados.Insert(4, Convert.ToString(Compras.PrecioTotal)); //precio total de la compra
                            ListaResultados.Insert(5, Convert.ToString(Concepto.Cantidad));   //cantidad de libros comprados
                        }
                    }
                }



                return(View(ListaResultados));//Retornamos la lista de resultados hacia la vista.
            }
            //error
            catch (Exception e)
            {
                return(Redirect("~/Error/Error"));
            }
        }
コード例 #8
0
        /**
         * Este metodo se encarga de hacer las peticiones a la API por medio de un
         * httpclient, posterior a eso se guardan los datos en un json y se procede a hacer las
         * validaciones correspondientes para sacar los datos correctos de el libro que se desea visualizar
         *
         * Param id= id del libro que se desea visualizar
         */
        public async Task <IActionResult> Libro_VistaAsync(int id)
        {
            try
            {
                HttpClientHandler clientHandler = new HttpClientHandler();//peticion
                clientHandler.ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => { return(true); };

                // Pass the handler to httpclient(from you are calling api)
                //Hacemos las peticiones a los controladores correspondientes y guardamos el resultado de cada controlador en un json
                HttpClient httpClient  = new HttpClient(clientHandler);
                var        json_Libros = await httpClient.GetStringAsync($@"{CocontroladorAPI.Initial()}api/DatosCliente/Libros/{id}");

                var json_Editoriales = await httpClient.GetStringAsync("https://localhost:44341/api/Editorial");

                var json_Categorias = await httpClient.GetStringAsync("https://localhost:44341/api/CatCategorias");

                var json_Paises = await httpClient.GetStringAsync("https://localhost:44341/api/CatPaises");

                //Convertimos los json en listas genericas

                var           LibrosLista     = JsonConvert.DeserializeObject <List <MtoCatLibros> >(json_Libros);
                var           Editorial_Lista = JsonConvert.DeserializeObject <List <CatEditorial> >(json_Editoriales);
                var           Categoria_Lista = JsonConvert.DeserializeObject <List <CatCategorias> >(json_Categorias);
                var           Paises_Lista    = JsonConvert.DeserializeObject <List <CatPaises> >(json_Paises);
                List <string> ListaResultados = new List <string>(); //Lista de resultados
                String        sto             = "";
                foreach (var Libro in LibrosLista)                   //recorremos cada libro en la lista
                {
                    if (Libro.Stock <= 0)                            //Verificamos que haya ejemplares de ese libro en stock
                    {
                        sto = "Agotado";
                    }
                    else
                    {
                        sto = "En Stock";
                    }
                    //Guardamos los datos del libro
                    ListaResultados.Insert(0, Libro.Isbn);
                    ListaResultados.Insert(1, Libro.Titulo);
                    ListaResultados.Insert(2, Libro.Autor);
                    ListaResultados.Insert(3, Libro.Sinopsis);
                    ListaResultados.Insert(4, Convert.ToString(Libro.Paginas));
                    ListaResultados.Insert(5, Convert.ToString(Libro.Revision));
                    ListaResultados.Insert(6, Convert.ToString(Libro.Ano));
                    ListaResultados.Insert(7, Convert.ToString(Libro.Precio));
                    ListaResultados.Insert(8, sto);
                    ListaResultados.Insert(9, Convert.ToString(Libro.Imagen));



                    foreach (var Editorial in Editorial_Lista)//recorremos las editoriales para buscar la que congenie con la editorial
                    //del libro seleccionado
                    {
                        if (Libro.Ideditorial == Editorial.Ideditorial)//validamos que la editorial congenie con la del libro
                        {
                            ListaResultados.Insert(10, Editorial.Nombre);
                        }
                    }
                    //recorremos las categorias de los libros para buscar la que congenie con la del libro seleccionado
                    foreach (var Categoria in Categoria_Lista)
                    {
                        if (Libro.Idcategoria == Categoria.Idcategoria)//validamos que la categoria congenie con la del libro
                        {
                            ListaResultados.Insert(11, Categoria.Nombre);
                        }
                    }
                    //recorremos los paises de los libros para buscar la que congenie con la del libro seleccionado

                    foreach (var Pais in Paises_Lista)
                    {
                        if (Libro.Idpais == Pais.Idpais)//validamos que el pais congenie con el del libro
                        {
                            ListaResultados.Insert(12, Pais.Nombre);
                        }
                    }
                }
                if (ListaResultados.Count > 0)     //Si la lista no esta vacia
                {
                    return(View(ListaResultados)); //regresamos la lista a la vista correspondiente
                }
                else//lista vacia
                {
                    throw new Exception();
                }
            }
            catch (Exception e)//error
            {
                return(Redirect("~/Error/Error"));
            }
        }
コード例 #9
0
        /**
         * Este metodo se encarga de hacer las peticiones a la API por medio de un
         * httpclient, posterior a eso se guardan los datos en un json y se procede a hacer las
         * validaciones correspondientes para sacar los datos correctos de la compra detallada que se desea ver
         */
        public async Task <IActionResult> Lista_Libros_DetalladaAsync(int id)
        {
            try
            {
                DateTime hoy        = DateTime.Today;   // Guardamos la fecha actual para sacar el estado de la compra
                String   estado     = null;             //estado de la compra
                var      httpClient = new HttpClient(); //Peticion
                //Guardamos en Json's la lista de resultados que recibimos de los controladores correspondientes
                var json_Libros = await httpClient.GetStringAsync("https://*****:*****@"{CocontroladorAPI.Initial()}api/DatosCliente/Compras/{_userManager.GetUserId(User)}");

                //Convertimos el json en una lista generica
                var           LibrosLista       = JsonConvert.DeserializeObject <List <MtoCatLibros> >(json_Libros);
                var           Editorial_Lista   = JsonConvert.DeserializeObject <List <CatEditorial> >(json_Editoriales);
                var           Categoria_Lista   = JsonConvert.DeserializeObject <List <CatCategorias> >(json_Categorias);
                var           Paises_Lista      = JsonConvert.DeserializeObject <List <CatPaises> >(json_Paises);
                var           TraConceptoCompra = JsonConvert.DeserializeObject <List <TraConceptoCompra> >(json_TraConceptoCompra);
                var           MtoCatUsuarios    = JsonConvert.DeserializeObject <List <MtoCatUsuarios> >(json_usuario);
                var           TraCompras        = JsonConvert.DeserializeObject <List <TraCompras> >(json_TraCompras);
                List <string> ListaResultados   = new List <string>();         //Lista de resultados que se le va a regresar a la vista
                int           compra_           = 0;                           //Guarda la ultima compra para no repetir datos
                foreach (var Compras in TraCompras)                            //Recorremos todas las compras del usuario
                {
                    foreach (var Concepto in TraConceptoCompra)                //recorremos todas las descripciones de las compras
                    {
                        if (Concepto.Idcompra == id && Compras.Idcompra == id) //Validamos que la descripcion de compra
                        //congenie con la compra correspondiente

                        {
                            foreach (var Libro in LibrosLista)                                        //Recorremos toda la lista de libros
                            {
                                if (Concepto.Idlibro == Libro.Idlibro && Concepto.Idlibro != compra_) //validamos que el libro dentro de la lista
                                //congenie con el libro que se adquirio en la compra, ademas comparamos con el id del ultimo libro seleccionado
                                //para no repetir libros dentro de la compra
                                {
                                    compra_ = Libro.Idlibro;//guardamos el id del libro para no repetirlo posteriormente
                                    //Guardamos los datos del libro en la lista de resultados
                                    ListaResultados.Insert(0, Libro.Isbn);
                                    ListaResultados.Insert(1, Libro.Titulo);
                                    ListaResultados.Insert(2, Libro.Autor);
                                    ListaResultados.Insert(3, Libro.Sinopsis);
                                    ListaResultados.Insert(4, Convert.ToString(Libro.Paginas));
                                    ListaResultados.Insert(5, Convert.ToString(Libro.Revision));
                                    ListaResultados.Insert(6, Convert.ToString(Libro.Ano));
                                    ListaResultados.Insert(7, Convert.ToString(Libro.Precio));
                                    ListaResultados.Insert(8, Convert.ToString(Libro.Stock));
                                    ListaResultados.Insert(9, Convert.ToString(Libro.Imagen));
                                    ListaResultados.Insert(10, Convert.ToString(Concepto.Cantidad));//articulos totales


                                    foreach (var Editorial in Editorial_Lista)          //recorremos las editoriales para buscar la que congenie con la del libro
                                    {
                                        if (Libro.Ideditorial == Editorial.Ideditorial) //validamos que el editorial del libro congenie con la editorial en editorial_lista
                                        {
                                            ListaResultados.Insert(11, Editorial.Nombre);
                                        }
                                    }

                                    foreach (var Categoria in Categoria_Lista)          //recorremos las categorias para buscar la que congenie con la del libro
                                    {
                                        if (Libro.Idcategoria == Categoria.Idcategoria) //validamos que la categoria del libro congenie con la editorial en editorial_lista
                                        {
                                            ListaResultados.Insert(12, Categoria.Nombre);
                                        }
                                    }
                                    foreach (var Pais in Paises_Lista)//recorremos los paises para buscar la que congenie con el del libro
                                    {
                                        if (Libro.Idpais == Pais.Idpais)
                                        {
                                            ListaResultados.Insert(13, Pais.Nombre);//validamos que el pais del libro congenie con la editorial en editorial_lista
                                        }
                                    }
                                }
                            }


                            ListaResultados.Insert(14, Convert.ToString(Compras.PrecioTotal));//precio total de la compra
                            //Validamos que la compra este pagada y que lleve mas de 3 dias en ese estado
                            if (Compras.Pagado == true && Compras.FechaCompra.Value.DayOfYear + 3 <= hoy.DayOfYear)

                            {
                                estado = "Realizado";
                            }
                            //Si pedido esta solo pagada, la compra esta enviada
                            else if (Compras.Pagado == true)
                            {
                                estado = "Enviado";
                            }
                            //Si el pediso no esta pagado, la compra esta en proceso
                            else
                            {
                                estado = "Procesando";
                            }

                            ListaResultados.Insert(15, Convert.ToString(Compras.FechaCompra)); //Fecha de la compra
                            ListaResultados.Insert(16, estado);                                //estado de la compra
                        }
                    }
                }
                if (ListaResultados.Count > 0)     //Si la lista no esta vacia
                {
                    return(View(ListaResultados)); //retornamos la lista a la vista
                }
                else
                {
                    throw new Exception();//error
                }
            }
            //error
            catch (Exception e)
            {
                return(Redirect("~/Error/Error"));
            }
        }