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 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(); }