static void ListarProductosCarro(carro carro) { int num = 1; foreach (carro.InfoProducto i in carro.VerProductos()) { Console.WriteLine("Cantidad: {0}[Producto Tipo= {1}, Marca = {2}, Talle = {3}, Precio = {4}, Descuento = {5}]\n", i.cantidad, i.tipo, i.marca, i.talle, i.precio, i.descuento); num++; } }
static void ModuloTarjetas(carro carro, tienda tienda) { string select; bool salir = false; while (salir == false) { Console.Clear(); Console.WriteLine("*****\t\t\tMODULO TARJETAS\t\t\t*****\n"); Console.WriteLine("¿Qué desea hacer?\n"); Console.WriteLine("1) Agregar tarjeta\n2) Agregar beneficio\n3) Listar tarjetas\n4) Listar tarjetas con beneficios\n5) Volver"); select = Console.ReadLine(); switch (select) { case "1": //Agregar tarjeta AgregarTarjeta(tienda); break; case "2": //Agregar beneficio AgregarBeneficio(tienda); break; case "3": //Listar tarjetas ListarTarjetas(tienda); Console.WriteLine("Presione cualquier tecla para volver."); Console.ReadKey(); break; case "4": //Listar tarjetas con beneficios ListarBeneficios(tienda); Console.WriteLine("Presione cualquier tecla para volver."); Console.ReadKey(); break; case "5": //Volver salir = true; break; default: Console.WriteLine("La opción ingresada no es válida.\n"); Console.ReadKey(); break; } } }
static void ModuloProducto(carro carro, tienda tienda) { bool salir = false; while (salir == false) { Console.Clear(); Console.WriteLine("*****\t\t\tMODULO PRODUCTO\t\t\t*****\n"); Console.WriteLine("¿Qué desea hacer?\n"); Console.WriteLine("1) Dar de alta Productos\n2) Dar de alta Promociones\n3) Listar Productos\n4) Listar Promociones\n5) Volver"); string select = Console.ReadLine(); switch (select) { case "1": //Agregar productos AgregarProducto(tienda); break; case "2": //Agregar promociones AgregarPromocion(tienda); break; case "3": //Listar productos ListarProductos(tienda); Console.WriteLine("Presione cualquier tecla para volver."); Console.ReadKey(); break; case "4": //Listar promociones ListarPromociones(tienda); Console.WriteLine("Presione cualquier tecla para volver."); Console.ReadKey(); break; case "5": //Volver salir = true; break; default: Console.WriteLine("La opción ingresada no es válida.\n"); Console.ReadKey(); break; } } }
static void QuitarProductoCarro(carro carro) { int numProd, cantidad; try { Console.WriteLine("Seleccione un producto para quitar al carro"); ListarProductosCarro(carro); numProd = int.Parse(Console.ReadLine()); Console.WriteLine("Indique cantidad a quitar"); cantidad = int.Parse(Console.ReadLine()); carro.QuitarProducto(numProd, cantidad); Console.WriteLine("Producto quitado del carro."); Console.ReadKey(); } catch { Console.WriteLine("Error al ingresar datos. Por favor reintente la operacion."); Console.ReadKey(); } }
//FUNCIONES MODULO COMPRAS static void AgregarProductoCarro(carro carro, tienda tienda) { int numProd, cantidad; try { Console.WriteLine("Seleccione un producto para agregar al carro"); ListarProductos(tienda); numProd = int.Parse(Console.ReadLine()); producto prod = tienda.EncontrarProducto(numProd); Console.WriteLine("Indique cantidad a comprar"); cantidad = int.Parse(Console.ReadLine()); carro.agregarProducto(prod, cantidad); Console.WriteLine("Producto agregado al carro."); Console.ReadKey(); } catch { Console.WriteLine("Error al ingresar datos. Por favor reintente la operacion."); Console.ReadKey(); } }
static void EncontrarOAgregarCliente(int dni, carro carro, tienda tienda) { cliente client; string nombre, apellido; int tarjeta, cuotas; DateTime dia; string day; try { client = tienda.EncontrarCliente(dni); if (client == null) { Console.WriteLine("Nuevo Cliente, ingrese sus datos:\n Ingrese Nombre:"); nombre = Console.ReadLine(); Console.WriteLine("Ingrese Apellido:"); apellido = Console.ReadLine(); Console.WriteLine("Ingrese Fecha de Nacimiento (DD/MM/AA):"); day = Console.ReadLine(); DateTime.TryParse(day, out dia); client = tienda.agregarCliente(dni, nombre, apellido, dia); Console.WriteLine("Cliente agregado exitosamente"); } else { Console.WriteLine("Ciente existente"); //Agregar datos de cliente en impresion Console.WriteLine("[Cliente Nombre= {0}, Apellido = {1}, Dni={2}, Nacimiento = {3}, TtalGastado = {4}]\n", client.Nombre, client.Apellido, client.DNI, client.Nacimiento, client.TotalGastado); } Console.WriteLine("Seleccione una tarjeta para abonar:"); ListarTarjetas(tienda); tarjeta = int.Parse(Console.ReadLine()); Console.WriteLine("Indique cantidad de cuotas:"); cuotas = int.Parse(Console.ReadLine()); tarjeta tar = tienda.EncontrarTarjeta(tarjeta); int interes = tar.EncontrarFormadePago(cuotas); if (interes == -1) { Console.WriteLine("Error al ingresar datos. Por favor reintente la operacion."); Console.ReadKey(); return; } Console.WriteLine("En {0} cuotas tiene un interes de {1}%", cuotas, interes); Console.WriteLine("En el carro hay un total de ${0}", carro.VerTotal()); float TotalCompra = ((carro.VerTotal()) * (1 + ((float)interes / 100))); Console.WriteLine("Precio total financiado: ${0}, en {1} cuotas de ${2}", TotalCompra, cuotas, (TotalCompra / cuotas)); Console.WriteLine("Confirma la compra? (S/N)"); string confirma = Console.ReadLine(); switch (confirma) { case "s": case "S": client.ActualizarTotalGastado(TotalCompra); tar.ActualizarTotalGastado(TotalCompra); tienda.ActualizarTotalGastado(TotalCompra); carro.vaciarcarro(); Console.WriteLine("Felicidades por su compra, carro vacio!"); Console.ReadKey(); break; case "n": case "N": Console.WriteLine("Tomese su tiempo, no hay apuro. Cuanto mas compre, mejor!"); Console.ReadKey(); break; default: Console.WriteLine("Caracter ingresado no valido, reintente la operacion."); Console.ReadKey(); break; } } catch { Console.WriteLine("Error al ingresar datos. Por favor reintente la operacion."); Console.ReadKey(); } }
static void ModuloCompras(carro carro, tienda tienda) { string select, select2; bool salir = false; while (salir == false) { bool salir2 = false; Console.Clear(); Console.WriteLine("*****\t\t\tMODULO COMPRAS\t\t\t*****\n"); Console.WriteLine("¿Qué desea hacer?\n"); Console.WriteLine("1) Agregar productos al carro\n2) Identificar Cliente\n3) Volver"); select = Console.ReadLine(); switch (select) { case "1": while (salir2 == false) { Console.Clear(); Console.WriteLine("*****\t\t\tSUBMODULO CARRO\t\t\t*****\n"); Console.WriteLine("¿Qué desea hacer?\n"); Console.WriteLine("1) Agregar producto al carro\n2) Quitar producto del carro\n3) Listar productos en carro\n4) Volver"); select2 = Console.ReadLine(); switch (select2) { case "1": //Agregar producto a carro AgregarProductoCarro(carro, tienda); break; case "2": //Quitar producto de carro QuitarProductoCarro(carro); break; case "3": //Listar productos de carro ListarProductosCarro(carro); Console.WriteLine("Presione cualquier tecla para volver."); Console.ReadKey(); break; case "4": salir2 = true; break; default: Console.WriteLine("La opción ingresada no es válida.\n"); Console.ReadKey(); break; } } break; case "2": int dni; Console.WriteLine("Total de compra: {0}", carro.VerTotal()); // Hay que agregar variable Console.WriteLine("Ingrese DNI:"); try { dni = int.Parse(Console.ReadLine()); EncontrarOAgregarCliente(dni, carro, tienda); } catch { Console.WriteLine("Error al ingresar datos. Por favor reintente la operacion."); Console.ReadKey(); } break; case "3": //Volver salir = true; break; default: Console.WriteLine("La opción ingresada no es válida.\n"); Console.ReadKey(); break; } } }
static void Main(string[] args) { tienda tienda = new tienda(); string select; //CARGAMOS PRODUCTOS Y TARJETAS INICIALES tienda.agregarProducto("remera", "Adidas", "M", 500); tienda.agregarProducto("pantalon", "Adidas", "L", 800); tienda.agregarProducto("short", "Nike", "S", 750); promocion prom = tienda.agregarPromocion(tienda.EncontrarProducto(1), 10); tienda.agregarCliente(38369636, "Santiago", "Ponce de Leon", (DateTime.Parse("10/06/1994"))); tienda.agregarCliente(38254179, "Martin", "Venturino", (DateTime.Parse("28/04/1992"))); tarjeta Tar1 = tienda.agregarTarjeta("VISA", "Galicia"); Tar1.AgregarFormaPago(6, 20); Tar1.AgregarFormaPago(12, 30); tarjeta Tar2 = tienda.agregarTarjeta("MasterCard", "Santander"); Tar2.AgregarFormaPago(3, 10); Tar2.AgregarFormaPago(9, 25); Tar2.AgregarBeneficio(9, 20); carro carro = tienda.agregarCarro(); bool salir = false; while (salir == false) { Console.Clear(); Console.WriteLine("*****\t\t\tTienda\t\t\t*****\n"); Console.WriteLine("¿A qué módulo desea ingresar?\n"); Console.WriteLine("1) Productos y Promociones\n2) Compras\n3) Tarjetas de Crédito\n4) Administración\n5) Salir del sistema"); select = Console.ReadLine(); switch (select) { case "1": //Módulo producto ModuloProducto(carro, tienda); break; case "2": //Módulo Compras ModuloCompras(carro, tienda); break; case "3": //Módulo Tarjetas ModuloTarjetas(carro, tienda); break; case "4": //Módulo administrativo ModuloAdministrativo(tienda); break; case "5": //Salir del sistema salir = true; break; default: Console.WriteLine("La opción ingresada no es válida.\n"); Console.ReadKey(); break; } } Console.WriteLine("\n\nGracias, vuelva prontos."); Console.ReadKey(); }