/// <summary> /// Adiciona un nuevo libro al carrito de compras. /// </summary> /// <param name="libro">Libro a agregar.</param> /// <param name="cantidad">Cantidad del libro comprar.</param> public void AdicionarLibroCarrito(Libro libro, int cantidad) { // Comprueba si ya existe el libro en el carrito de compra: if (ExisteLibroEnCarrito(libro.Isbn)) { foreach (DataGridViewRow dvrLibro in dgvCarrito.Rows) { if (dvrLibro.Cells[0].Value.ToString().Equals(libro.Isbn)) { dvrLibro.Cells[2].Value = ((int)dvrLibro.Cells[2].Value) + cantidad; dvrLibro.Cells[3].Value = ((int)dvrLibro.Cells[2].Value) * libro.Precio; break; } } } else { int index = dgvCarrito.Rows.Add(); dgvCarrito.Rows[index].Cells[0].Value = libro.Isbn; dgvCarrito.Rows[index].Cells[1].Value = libro.Titulo; dgvCarrito.Rows[index].Cells[2].Value = cantidad; dgvCarrito.Rows[index].Cells[3].Value = (decimal)cantidad * libro.Precio; } CalcularTotalCompra(); }
/// <summary> /// Configuración de escenario de pruebas no. 1. /// </summary> private void ConfiguracionEscenario1() { String titulo, isbn; int precio, cantidad1, cantidad2; // Crea el primer libro para pruebas: titulo = "T[itulo 1"; isbn = "ISBN 1"; precio = 1000; libro1 = new Libro(isbn, titulo, precio); // Crea el segundo libro para pruebas: titulo = "Título 2"; isbn = "ISBN 2"; precio = 2000; libro2 = new Libro(isbn, titulo, precio); // Crea un ítem de compra: cantidad1 = 2; item1 = new ItemCompra(libro1, cantidad1); // Crea otro ítem de compra: cantidad2 = 3; item2 = new ItemCompra(libro2, cantidad2); // Crea el carro de compras con un ítem de compra: carrito = new CarroCompras(); carrito.AdicionarCompra(libro1, cantidad1); carrito.AdicionarCompra(libro2, cantidad2); }
/// <summary> /// Configuración de escenario de pruebas no. 1. /// </summary> private void ConfiguracionEscenario1() { string titulo, isbn; int precio, cantidad; CarroCompras carro; // Crea el primer libro pra pruebas: titulo = "Título 1"; isbn = "ISBN 1"; precio = 1000; libro1 = new Libro(isbn, titulo, precio); // Crea el segundo libro para pruebas: titulo = "Título 2"; isbn = "ISBN 2"; precio = 200; libro2 = new Libro(isbn, titulo, precio); // Adiciona los libros al catálogo: tienda = new TiendaLibros(); tienda.AdicionarLibroCatalogo(libro1); tienda.AdicionarLibroCatalogo(libro2); // Inicializa el carro de compras: carro = tienda.Carrito; cantidad = 1; carro.AdicionarCompra(libro1, cantidad); }
/// <summary> /// Agrega un nuevo libro al catálogo. /// </summary> /// <param name="libro">Libro a agregar.</param> public void AgregarLibroCatalogo(Libro libro) { if (dgvCatalogo.Rows.Count == 0) { txtCantidad.Enabled = true; btnComprar.Enabled = true; } int index = dgvCatalogo.Rows.Add(); dgvCatalogo.Rows[index].Cells["tbcIsbn"].Value = libro.Isbn; dgvCatalogo.Rows[index].Cells["tbcTitulo"].Value = libro.Titulo; dgvCatalogo.Rows[index].Cells["tbcPrecio"].Value = libro.Precio; }
/// <summary> /// Configuración de escenario de pruebas no. 2. /// </summary> private void ConfiguracionEscenario2() { string titulo, isbn; int precio; // Crea el primer libro para pruebas: titulo = "Título 3"; isbn = "ISBN 3"; precio = 10; libro1 = new Libro(isbn, titulo, precio); // Crea el segundo libro para pruebas: titulo = "Título 4"; isbn = "ISBN 4"; precio = 20; libro2 = new Libro(isbn, titulo, precio); }
/// <summary> /// Configuración de escenario de pruebas no. 3. /// </summary> private void ConfiguracionEscenario1() { String titulo, isbn; int precio; // Crea el primer libro para pruebas: titulo = "Título 1"; isbn = "ISBN 1"; precio = 1000; libro1 = new Libro(isbn, titulo, precio); // Crea el segundo libro para pruebas: titulo = "Título 2"; isbn = "ISBN 2"; precio = 2000; libro2 = new Libro(isbn, titulo, precio); }
/// <summary> /// Adiciona un libro como ítem en el carrito de compras. /// </summary> /// <param name="libro">Libro a agregar al carrito de compras.</param> /// <param name="cantidad">Cantidad de este libro a agregar.</param> public void AdicionarCompra(Libro libro, int cantidad) { // Busca un ítem de compra donde exista el libro: ItemCompra item = BuscarItemCompraLibro(libro.Isbn); // Si no existe ese libro en el carrito, crea el ítem y lo agrega: if (item == null) { ItemCompra nuevoItem = new ItemCompra(libro, cantidad); m_itemsCompra.Add(nuevoItem); } else { // Si ya existe, sólo aumenta la cantidad del pedido: item.CantidadSolicitada += cantidad; } }
/// <summary> /// Determina si este libro es igual a otro libro. /// </summary> /// <param name="libro">Libro a comparar.</param> /// <returns><em>true</em> si los libros son iguales, <em>false</em> en caso contrario.</returns> public bool IgualALibro(Libro libro) { return this.m_isbn.Equals(libro.Isbn); }
/// <summary> /// Crea ítem de compra con un libro y su cantidad a comprar. /// </summary> /// <param name="libro">Libro a asociar a este ítem de compra.</param> /// <param name="cantidad">Cantidad a comprar de este libro.</param> public ItemCompra(Libro libro, int cantidad) { this.m_libro = libro; this.m_cantidad = cantidad; }
/// <summary> /// Configuración de escenario de pruebas no. 2. /// </summary> private void ConfiguracionEscenario2() { string titulo, isbn; int precio, cantidad1, cantidad2; // Crea el primer libro para pruebas: titulo = "Título 3"; isbn = "ISBN 3"; precio = 10000; libro1 = new Libro(isbn, titulo, precio); // Crea el segundo libro para pruebas: titulo = "Título 4"; isbn = "ISBN 4"; precio = 20000; libro2 = new Libro(isbn, titulo, precio); // Crea un ítem de compra: cantidad1 = 20; item1 = new ItemCompra(libro1, cantidad1); // Crea otro ítem de compra: cantidad2 = 30; item2 = new ItemCompra(libro2, cantidad2); }
/// <summary> /// Configuración de escenario de pruebas no. 3. /// </summary> private void ConfiguracionEscenario3() { string titulo, isbn; int precio, cantidad1, cantidad2; // Obtiene los datos de prueba: // Crea el primer libro para pruebas: titulo = "Título 5"; isbn = "ISBN 5"; precio = 10; libro1 = new Libro(isbn, titulo, precio); // Crea el segundo libro para pruebas: titulo = "Título 6"; isbn = "ISBN 6"; precio = 20; libro2 = new Libro(isbn, titulo, precio); // Crea un ítem de compra: cantidad1 = 1; item1 = new ItemCompra(libro1, cantidad1); // Crea otro ítem de compra: cantidad2 = 2; item2 = new ItemCompra(libro2, cantidad2); }
/// <summary> /// Adiciona un nuevo libro al catálogo de venta de la tienda. /// </summary> /// <param name="libro">Libro a adicionar al catálogo de venta.</param> public void AdicionarLibroCatalogo(Libro libro) { // Verifica si el libro existe: Libro resultado = BuscarLibro(libro.Isbn); // Sólo añade el libro si no existe: if (resultado == null) { m_catalogo.Add(libro); } }
/// <summary> /// Adicionar un nuevo libro al catálogo. /// </summary> /// <param name="isbn">ISBN del libro.</param> /// <param name="titulo">Título del libro.</param> /// <param name="precio">Precio del libro.</param> public void AdicionarLibro(string isbn, string titulo, decimal precio) { Libro nuevoLibro = new Libro(isbn, titulo, precio); tienda.AdicionarLibroCatalogo(nuevoLibro); ctlCatalogo.AgregarLibroCatalogo(nuevoLibro); }