public static void Main(string[] args) { Console.WriteLine("*************************************************"); Console.WriteLine("Bienvenido al buscador de productos de ML"); Console.WriteLine("*************************************************"); Console.WriteLine("Por favor introduzca el ID del vendedor a buscar : "); string answ = ""; do { var venid = new vendorID(); // Invoco a la variable publica venid.vid = Console.ReadLine(); //Asigno el valor de la entrada a la variable publica if (venid.vid.Length == 9) //Validacion sobre la dimension numerica del ID { GetItems(venid); Console.WriteLine("**************************************"); Console.WriteLine("Deseas realizar otra consulta?"); Console.WriteLine("**************************************"); answ = Console.ReadLine(); } else //Si no cumple con la condicional anterior, ofrece volver a introducir otra ID { Console.WriteLine("**************************************"); Console.WriteLine("Incorrecto, desea continuar?"); Console.WriteLine("**************************************"); answ = Console.ReadLine(); } if (answ == "si") //Pide el valor del ID nuevamente { Console.WriteLine("Por favor introduzca el ID del vendedor a buscar : "); } else if (answ == "no") //Condiconal que invoca el ciere de la aplicacion { Console.WriteLine("**************************************"); Console.WriteLine("¡Gracias por usar nuestra aplicacion!"); Console.WriteLine("**************************************"); Console.WriteLine("**************************************"); Console.WriteLine("Hecho por: Manuel Pariata"); Console.WriteLine("**************************************"); return; } }while (answ != "no"); //Mientras la entrada sea diferente de "no" se repite el ciclo }
private static void GetItems(vendorID vendorID) { //"/sites/MLA/search?seller_id=179571326" URL Predefinida por el enunciado del ejercicio //179571326 ID del enunciado vendorID.vid = vendorID.vid; //llamo a la variable publica var client = new RestClient("https://api.mercadolibre.com"); //establezco la conexion al cliente API mediante Restsharp RestSharp.RestRequest request = new RestRequest("/sites/MLA/search?seller_id=" + vendorID.vid, Method.GET) { RequestFormat = DataFormat.Json }; //Definicion de la url exacta de donde obtiene la informacion, el metodo empleado, y el tipo de contenido por respuesta esperado request.AddHeader("Content-type", "application/json"); //Tipo del cuerpo de la respuesta var response = client.Execute(request); //Solicitud del contenido mediante Restsharp if (response.Content.Length > 481) //Si el contenido de la respuesta obtenida es mayor a 481 procede a deserializarla { var jsonresponse = JsonConvert.DeserializeObject <Root>(response.Content); //Deserializacion de la respuesta obtenida for (int i = 0; i < jsonresponse.results.Count; i++) //Ciclo for condicional, exigiendo el recorrido hasta alcanzar el limite de las respuestas por solicitud { // Operacion de organizacion e impresion de datos en la consola int num = i + 1; Console.WriteLine("******************** PRODUCTO#" + num + " ***********************"); Console.WriteLine("ID Del Producto : " + jsonresponse.results[i].id); Console.WriteLine("Titulo del Producto : " + jsonresponse.results[i].title); Console.WriteLine("ID De La Categoria : " + jsonresponse.results[i].category_id); Console.WriteLine("Nombre de la Categoria : " + jsonresponse.results[i].domain_id); //Generacion del log System.IO.File.AppendAllText(@"C:\Log\MLLog.txt", "******************** PRODUCTO#" + num + " ***********************" + "\n"); System.IO.File.AppendAllText(@"C:\Log\MLLog.txt", "ID Del Vendedor : " + vendorID.vid + "\n"); System.IO.File.AppendAllText(@"C:\Log\MLLog.txt", "ID Del Producto : " + jsonresponse.results[i].id + "\n"); System.IO.File.AppendAllText(@"C:\Log\MLLog.txt", "Titulo del Producto : " + jsonresponse.results[i].title + "\n"); System.IO.File.AppendAllText(@"C:\Log\MLLog.txt", "ID De La Categoria : " + jsonresponse.results[i].category_id + "\n"); System.IO.File.AppendAllText(@"C:\Log\MLLog.txt", "Nombre de la Categoria : " + jsonresponse.results[i].domain_id + "\n"); } //Complemento del log System.IO.File.AppendAllText(@"C:\Log\MLLog.txt", "*******************************" + "\n"); System.IO.File.AppendAllText(@"C:\Log\MLLog.txt", "Fecha de la Operacion : " + DateTime.Now + "\n"); System.IO.File.AppendAllText(@"C:\Log\MLLog.txt", "*******************************" + "\n"); Console.WriteLine("**************************************"); Console.WriteLine("**************************************"); Console.WriteLine("Se ha generado un Archivo en C:/Log/MLLog.txt"); //Notificacion de la creacion del log Console.WriteLine("**************************************"); } else { Console.WriteLine("*******************************************"); Console.WriteLine("El ID del vendedor Introducido No Existe"); //Negacion al introducir un SELLERID incorrecto Console.WriteLine("*******************************************"); } }