CELEBREMOS EL DÍA MUNDIAL DEL LIBRO - Hasta 80% dcto  ¡VER MÁS!

menú

0
  • argentina
  • chile
  • colombia
  • españa
  • méxico
  • perú
  • estados unidos
  • internacional
portada Asp. Net c@: Pack de 2 Libros: Aprende el Lenguaje c@ y el Desarrollo Asp. Net
Formato
Libro Físico
Editorial
Categoría
Programación
Año
2016
Idioma
Español
N° páginas
1088
Encuadernación
Tapa Blanda
ISBN13
9782409005770

Asp. Net c@: Pack de 2 Libros: Aprende el Lenguaje c@ y el Desarrollo Asp. Net

Brice-Arnaud Guérin - Jérôme Hugon (Autor) · Ediciones ENI · Tapa Blanda

Asp. Net c@: Pack de 2 Libros: Aprende el Lenguaje c@ y el Desarrollo Asp. Net - Brice-Arnaud Guérin - Jérôme Hugon

Programación

Sin Stock

Reseña del libro "Asp. Net c@: Pack de 2 Libros: Aprende el Lenguaje c@ y el Desarrollo Asp. Net"

Estos dos libros ofrecen al lector el máximo de información sobre el desarrollo de aplicaciones ASP.NET con el lenguaje C#. 1088 páginas desarrolladas porEstos dos libros ofrecen al lector el máximo de información sobre el desarrollo de aplicaciones ASP.NET con el lenguaje C#.1088 páginas desarrolladas por expertos. Hay elementos para descarga en www.ediciones-eni.com.Un libro de la colección Expert ITC# 6 - Desarrolle aplicaciones Windows con Visual Studio 2015Este libro sobre desarrollo de aplicaciones Windows con el lenguaje C# y Visual Studio 2015 está dirigido a los desarrolladoresque comienzan con el framework .NET. Les permite aprender los conceptos principales del lenguaje C# e introduce conceptos más avanzados que les aportan una visión general de las posibilidades que ofrece el lenguaje C#, Visual Studio y el framework .NET en general. El autor ha seleccionado un enfoque paso a paso, construyendo una aplicación funcional a lo largo del libro para ilustrar de manera práctica y coherente los conceptos que se abordan.El aprendizaje comienza familiarizándose con la interfaz de Visual Studio 2015 y con el concepto de arquitectura .NET. Antes de abordar el diseño de las interfaces de usuario, se explican los detalles del lenguaje C#, su sintaxisy todas sus funcionalidades, como las clases, la herencia, las interfaces, los tipos genéricose incluso los delegadosy los eventos.El diseño de la interfaz de usuario cubre todas las fases necesarias para crear aplicaciones Windows funcionales y con buena ergonomía, desde la creación de formularioshasta la creación de controles,pasando por la implementación de administradores de eventosy la validación de los datos introducidos. También se incluye una introducción al diseño de aplicaciones WPF.De la misma manera, se detallan las herramientas de Visual Studio que permiten realizar las pruebas y la depuraciónde las aplicaciones presentando las técnicas de gestión de erroresy los conceptos que permiten monitorizar las aplicaciones, como la traza de la ejecución de la aplicación, la interacción con los registros de eventosy el uso de contadores de rendimiento.Se detalla el uso del Entity Framework, usando ejemplos concretos que permiten entender rápidamente cómo crear modelos de datos y usarlos para establecer la comunicación con una base de datos, mientras se aprende el uso del lenguaje de consultas LINQ para interactuar con datos en diferentes formatos (objetos, SQL o XML). También se detalla la alternativa del almacenamiento de datos de una aplicación en el sistema de archivos, así como el uso del concepto de serialización, proporcionando, de esta manera, una visión global de las posibilidades que ofrece el framework .NET en lo que se refiere a la gestión de datos.También se abordan conceptos más avanzadoscon el objetivo de exponer la gama más amplia de las posibilidades que ofrece el lenguaje C# y Visual Studio. Podemos citar algunos ejemplos, como el uso de expresiones regulares, el desarrollo de aplicaciones multitareay asíncronas, la globalización yla localizaciónde una aplicación, la seguridaddel código, la implementación de aplicaciones cliente/servidor, el diseño con GDI+, así como la reflexión.La última parte del libro está dedicada a la creación de ensambladosy al despliegue de las aplicaciones. Se detallan las herramientas y técnicas que ofrece Visual Studio para crear instaladores Windows y configurar las aplicaciones.El código de la aplicación de ejemplo que se utiliza en el libro está disponible para su descarga en el sitio web www.ediciones-eni.com.Los capítulos del libro:Prólogo Trabajar con Visual Studio 2015 La arquitectura .NET Introducción al lenguaje C# La creación de tipos La herencia Tipos genéricos Delegados, eventos y expresiones lambda Creación de formularios Implementación del administrador de eventos Validar los datos introducidos Creación de controles de usuario Creación de aplicaciones Windows 8.1 Depuración Gestión de excepciones Monitorización Tests unitarios Creación del modelo de datos Presentación de Entity Framework Presentación de LINQ LINQ to Entities LINQ to SQL LINQ to XML El sistema de archivos Serialización Expresiones regulares Multi-threading Globalización y localización Seguridad Para llegar más lejos Ensamblados y configuraciones DespliegueUn libro de la colección Expert ITASP.NET en C# con Visual Studio 2015 - Diseño y desarrollo de aplicaciones WebEste libro está dirigido a los desarrolladores, arquitectos y administradores que deseen adoptar un enfoque profesional en la realización de aplicaciones Web sacando el máximo provecho de ASP.NET 4.5.2. Acompaña al lector en un estudio completo de la tecnología ASP.NET y de Visual Studio 2015. Cada tema se aborda con ejemplos prácticos y útiles, que se proveen en C#.El lector comenzará con Visual Studio y sus herramientas (depuración, refactoring, pruebas unitarias, pruebas de interfaz gráfica,...) y la evolución del lenguaje C#. El segundo capítulo describe el funcionamiento de las aplicaciones IIS y explica cómo realizar módulos específicos para el servidor Web. El libro estudia con profundidad los Web Forms, AJAX, jQuery, y proporciona componentes personalizados para crear gráficos. Los sitios MVC y sus desarrollos SPA y Web API se presentan con ejemplos prácticos, así como su securización.Los siguientes capítulos elaboran soluciones que aportan rapidez al desarrollo y un mejor rendimiento en el acceso a las bases de datos ADO.NET, especialmente con los nuevos componentes basados en LINQ y Entity Framework y los estados Reporting Services. A continuación, se describe la securización unificada de los sitios WebOWIN (con Google) y la personalización de la navegación (Web Parts y servicios Web WCF, REST). El último capítulo describe la puesta en producción con ASP.NET y la infraestructura de supervisión Health Monitoring así como el desarrollo de aplicaciones Web en la plataforma Cloud Microsoft Azure.Los ejemplos de código del libro pueden descargarse del sitio web www.ediciones-eni.com.Los capítulos del libro:Prólogo Visual Studio 2015 y .NET 4.5.2 Los sitios web ASP.NET 4.5.2 Los Web Forms Los sitios web MVC El acceso a datos con ADO.NET 4.5.2 Gestión del estado Personalización y securización Los servicios web WCF y REST Configuración, despliegue y administraciónC# 6 Desarrolle aplicaciones Windows con Visual Studio 2015 Colección Expert IT Contenido Contenido 1 Prólogo Capítulo 1 Trabajar con Visual Studio 2015 1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2. La interfaz de desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.1 El editor de texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2 El diseñador de vistas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.3 El depurador integrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.4 El administrador de extensiones . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.5 NuGet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.6 Ventanas personalizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3. La creación de soluciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.1 Definir el punto de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2 La diferencia entre proyectos y soluciones . . . . . . . . . . . . . . . . . 30 3.3 Configurar el proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.4 La conversión de soluciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.5 Los proyectos compartidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.6 Las herramientas de refactorización . . . . . . . . . . . . . . . . . . . . . . 35 Podrá descargar algunos elementos de este libro en la página web de Ediciones ENI: http://www.ediciones-eni.com. Escriba la referencia ENI del libro EIT6C15VIS en la zona de búsqueda y valide. Haga clic en el título y después en el vínculo de descarga. 2 Desarrolle aplicaciones Windows con Visual Studio 2015 C# 6 Capítulo 2 La arquitectura .NET 1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2. CLR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3. Las bibliotecas de clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4. Los tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.1 Los tipos por valor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.2 Los tipos por referencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Capítulo 3 Introducción al lenguaje C# 1. La sintaxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 1.1 Los identificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 1.2 Las palabras reservadas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 1.3 La reglas de puntuación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 1.4 Los operadores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 1.4.1 Los operadores de cálculo. . . . . . . . . . . . . . . . . . . . . . . . . . 50 1.4.2 Los operadores de asignación . . . . . . . . . . . . . . . . . . . . . . . 50 1.4.3 Los operadores de comparación . . . . . . . . . . . . . . . . . . . . . 51 1.5 La declaración de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 1.6 Las instrucciones de control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 1.6.1 Las instrucciones condicionales . . . . . . . . . . . . . . . . . . . . . 53 1.6.2 Las instrucciones iterativas . . . . . . . . . . . . . . . . . . . . . . . . 57 1.6.3 Las instrucciones de salto. . . . . . . . . . . . . . . . . . . . . . . . . . 60 1.7 Los comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 2. Los espacios de nombres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 2.1 La palabra reservada using . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 2.2 La palabra reservada alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 2.3 Las clases estáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Contenido 3 3. Los tipos básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3.1 Los tipos numéricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3.1.1 Los enteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.1.2 Los decimales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.2 Los booleanos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.3 Las cadenas de caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.4 Los tipos null . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.5 La conversión de tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.5.1 La conversión implícita . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.5.2 La conversión explícita . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4. Las constantes y las enumeraciones . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.1 Las constantes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.2 Las enumeraciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 5. Los arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 6. Las colecciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 7. Las directivas preprocesador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Capítulo 4 La creación de tipos 1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 2. Los niveles de acceso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3. Las estructuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 4. Las clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 4.1 Los campos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 4.2 Las propiedades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 4.3 Los métodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 4.3.1 La sobrecarga. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.3.2 Los parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.4 Los constructores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 4.5 Los destructores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 4.6 Las clases y miembros estáticos . . . . . . . . . . . . . . . . . . . . . . . . . . 99 4 Desarrolle aplicaciones Windows con Visual Studio 2015 C# 6 4.7 Las clases parciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 4.8 La palabra reservada this . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.9 Los indexadores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 4.10 La sobrecarga de operadores. . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 4.10.1Los operadores aritméticos. . . . . . . . . . . . . . . . . . . . . . . . 104 4.10.2Los operadores de comparación . . . . . . . . . . . . . . . . . . . . 106 Capítulo 5 La herencia 1. La herencia de clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 1.1 Implementar la herencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 1.2 Los miembros virtuales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 1.3 Ocultar los miembros heredados . . . . . . . . . . . . . . . . . . . . . . . . 111 1.4 La palabra reservada base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 1.5 Las clases y miembros abstractos . . . . . . . . . . . . . . . . . . . . . . . 113 1.6 Las clases y los métodos cerrados . . . . . . . . . . . . . . . . . . . . . . . 114 1.7 Los constructores derivados. . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 1.8 El polimorfismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 2. Las interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 2.1 La implementación de interfaces. . . . . . . . . . . . . . . . . . . . . . . . 119 2.2 El polimorfismo de interfaz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 2.3 La herencia de interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Capítulo 6 Tipos genéricos 1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 2. La creación de tipos genéricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 3. Las restricciones de tipo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Contenido 5 4. Las interfaces genéricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 4.1 La varianza en las interfaces genéricas . . . . . . . . . . . . . . . . . . . 130 4.1.1 La covarianza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 4.1.2 La contravarianza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 4.2 La creación de interfaces genéricas variantes . . . . . . . . . . . . . . 132 4.3 La herencia de interfaces genéricas variantes . . . . . . . . . . . . . . 133 5. La creación de métodos genéricos . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 6. Valor por defecto genérico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 7. La herencia de clase genérica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Capítulo 7 Delegados, eventos y expresiones lambda 1. Los delegados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 1.1 Los parámetros de método . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 1.2 Los métodos de destino múltiples . . . . . . . . . . . . . . . . . . . . . . . 141 1.3 Los delegados genéricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 1.4 La compatibilidad de los delegados . . . . . . . . . . . . . . . . . . . . . . 142 2. Los eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 3. Las expresiones lambda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 3.1 El uso de las expresiones lambda . . . . . . . . . . . . . . . . . . . . . . . . 148 3.2 Los delegados genéricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 3.3 La captura de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Capítulo 8 Creación de formularios 1. Utilizar los formularios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 1.1 Añadir formularios al proyecto . . . . . . . . . . . . . . . . . . . . . . . . . 153 1.2 Modificar el formulario de inicio . . . . . . . . . . . . . . . . . . . . . . . . 156 1.3 Las propiedades de los formularios . . . . . . . . . . . . . . . . . . . . . . 156 1.4 Los métodos de los formularios . . . . . . . . . . . . . . . . . . . . . . . . . 159 6 Desarrolle aplicaciones Windows con Visual Studio 2015 C# 6 1.5 Los eventos de los formularios. . . . . . . . . . . . . . . . . . . . . . . . . . 160 2. Usar los controles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 2.1 Los tipos de controles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 2.2 Añadir controles a los formularios. . . . . . . . . . . . . . . . . . . . . . . 162 2.3 Las propiedades de los controles . . . . . . . . . . . . . . . . . . . . . . . . 164 2.4 Los menús . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 2.5 Los contenedores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 2.6 La usabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 2.7 Añadir controles a la caja de herramientas . . . . . . . . . . . . . . . . 170 Capítulo 9 Implementación del administrador de eventos 1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 2. La creación de controladores de eventos . . . . . . . . . . . . . . . . . . . . . . 173 2.1 La mecánica de un evento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 2.2 La adición dinámica de un controlador de eventos . . . . . . . . . 176 2.3 La eliminación dinámica de un controlador de eventos. . . . . . 177 3. Los controladores de eventos avanzados. . . . . . . . . . . . . . . . . . . . . . 177 3.1 Un controlador para varios eventos . . . . . . . . . . . . . . . . . . . . . 177 3.2 Varios controladores para un evento. . . . . . . . . . . . . . . . . . . . . 178 Capítulo 10 Validar los datos introducidos 1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 2. La validación a nivel de campos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 2.1 Las propiedades de validación . . . . . . . . . . . . . . . . . . . . . . . . . . 181 2.2 Los eventos de validación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 2.2.1 KeyDown y KeyUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 2.2.2 KeyPress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 2.2.3 Validating y Validated . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Contenido 7 3. La validación a nivel de formulario . . . . . . . . . . . . . . . . . . . . . . . . . . 185 4. Los métodos de retorno al usuario. . . . . . . . . . . . . . . . . . . . . . . . . . . 188 4.1 MessageBox. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 4.2 ErrorProvider . . . . . . . . . . . . . . . . . . . . . .

Opiniones del libro

Ver más opiniones de clientes
  • 0% (0)
  • 0% (0)
  • 0% (0)
  • 0% (0)
  • 0% (0)

Preguntas frecuentes sobre el libro

Respuesta:
Todos los libros de nuestro catálogo son Originales.
Respuesta:
El libro está escrito en Español.
Respuesta:
La encuadernación de esta edición es Tapa Blanda.

Preguntas y respuestas sobre el libro

¿Tienes una pregunta sobre el libro? Inicia sesión para poder agregar tu propia pregunta.

Opiniones sobre Buscalibre

Ver más opiniones de clientes