static void Main(string[] args) { String iNroDocumento, iNombre; Controlador control = new Controlador(); double iAcuerdo, iSaldo; Fachada fachada = new Fachada(); int aux = 1; //Variable para el siguiente while siendo '1', uno de los valores aceptados. while (aux == 1 || aux == 2) //Si el num no es 1 o 2 termina el programa. { Console.WriteLine(); Console.WriteLine("1- Agregar un Cliente"); Console.WriteLine("2- Buscar un Cliente"); Console.WriteLine("Otra numero para salir"); aux = Convert.ToInt32(Console.ReadLine()); //Lee del teclado y le asigna el num a aux. switch (aux) { case 1: Console.WriteLine(); Console.WriteLine("Ingrese el tipo de documento del Cliente:"); Console.WriteLine("1- DNI"); Console.WriteLine("2- CUIT"); Console.WriteLine("3- CUIL"); Console.WriteLine("4- LE"); Console.WriteLine("5- LC"); TipoDocumento mTipoDocumento = fachada.ElegirTipoDocumento(Convert.ToInt32(Console.ReadLine())); //Utiliza el metodo de la fachada para elegir el Tipo de Documento. Console.WriteLine(); Console.Write("Ingrese el Nro de Documento: "); iNroDocumento = Convert.ToString(Console.ReadLine()); Console.Write("Ingrese el nombre del Cliente: "); iNombre = Convert.ToString(Console.ReadLine()); fachada.AgregarCliente(mTipoDocumento, iNroDocumento, iNombre); Console.WriteLine("El cliente ha sido agregado"); break; case 2: Console.Write("Ingrese Nro Doc: "); iNroDocumento = Console.ReadLine(); if (fachada.ExisteCliente(iNroDocumento)) { PantallaClienteEncontrado(fachada.BuscarClientePorDoc(iNroDocumento)); switch (Convert.ToInt32(Console.ReadLine())) { case 0: Console.WriteLine(); Console.Write("Ingrese el acuerdo de descubierto de la nueva cuenta: "); fachada.BuscarCuentasPorDoc(iNroDocumento).CuentaCorriente = new Cuenta(Convert.ToDouble(Console.ReadLine())); fachada.BuscarCuentasPorDoc(iNroDocumento).CajaAhorro = new Cuenta(0); break; case 1: Console.WriteLine(); Console.Write("Ingrese el acuerdo de descubierto de la nueva cuenta: "); iAcuerdo = Convert.ToDouble(Console.ReadLine()); Console.Write("Ingrese el saldo de la nueva cuenta: "); iSaldo = Convert.ToDouble(Console.ReadLine()); fachada.BuscarCuentasPorDoc(iNroDocumento).CuentaCorriente = new Cuenta(iAcuerdo, iSaldo); fachada.BuscarCuentasPorDoc(iNroDocumento).CajaAhorro = new Cuenta(0); break; case 2: Console.WriteLine(); Console.Write("Ingrese el acuerdo de descubierto de la nueva cuenta: "); fachada.BuscarCuentasPorDoc(iNroDocumento).CajaAhorro = new Cuenta(Convert.ToDouble(Console.ReadLine())); fachada.BuscarCuentasPorDoc(iNroDocumento).CuentaCorriente = new Cuenta(0); break; case 3: Console.WriteLine(); Console.Write("Ingrese el acuerdo de descubierto de la nueva cuenta: "); iAcuerdo = Convert.ToDouble(Console.ReadLine()); Console.Write("Ingrese el saldo de la nueva cuenta: "); iSaldo = Convert.ToDouble(Console.ReadLine()); fachada.BuscarCuentasPorDoc(iNroDocumento).CajaAhorro = new Cuenta(iAcuerdo, iSaldo); fachada.BuscarCuentasPorDoc(iNroDocumento).CuentaCorriente = new Cuenta(0); break; } PantallaDeSaldos(); int num = Convert.ToInt32(Console.ReadLine()); while (1 <= num && num <= 6) //Si el num no esta en este rango vuelve a la pantalla inicial { switch (num) { case 1: MostrarSaldo(fachada.BuscarCuentasPorDoc(iNroDocumento).CuentaCorriente.Saldo); //este metodo ubicado fuera del main contiene una escritura en pantalla que se utiliza en repetidas ocasiones MostrarAcuerdo(fachada.BuscarCuentasPorDoc(iNroDocumento).CuentaCorriente.Acuerdo); //este metodo ubicado fuera del main contiene una escritura en pantalla que se utiliza en repetidas ocasiones break; case 2: MostrarSaldo(fachada.BuscarCuentasPorDoc(iNroDocumento).CajaAhorro.Saldo); MostrarAcuerdo(fachada.BuscarCuentasPorDoc(iNroDocumento).CajaAhorro.Acuerdo); break; case 3: Console.WriteLine("Ingrese el valor a debitar"); try { fachada.DebitarCuentaCorriente(Convert.ToDouble(Console.ReadLine()), iNroDocumento); } catch (AcreditarDebitarException exc) { Console.WriteLine("Ha ocurrido un error al debitar. \n {0}", exc); } finally { iSaldo = fachada.BuscarCuentasPorDoc(iNroDocumento).CuentaCorriente.Saldo; MostrarSaldo(iSaldo); } break; case 4: Console.WriteLine("Ingrese el valor a debitar"); try { fachada.DebitarCajaAhorro(Convert.ToDouble(Console.ReadLine()), iNroDocumento); } catch (AcreditarDebitarException exc) { Console.WriteLine("Ha ocurrido un error al debitar. \n {0}", exc); } finally { iSaldo = fachada.BuscarCuentasPorDoc(iNroDocumento).CajaAhorro.Saldo; MostrarSaldo(iSaldo); } break; case 5: Console.WriteLine("Ingrese el valor a acreditar"); try { fachada.AcreditarCuentaCorriente(Convert.ToDouble(Console.ReadLine()), iNroDocumento); } catch (AcreditarDebitarException exc) { Console.WriteLine("Ha ocurrido un error al acreditar. \n {0}", exc); } finally { iSaldo = fachada.BuscarCuentasPorDoc(iNroDocumento).CuentaCorriente.Saldo; MostrarSaldo(iSaldo); } break; case 6: Console.WriteLine("Ingrese el valor a acreditar"); try { fachada.AcreditarCajaAhorro(Convert.ToDouble(Console.ReadLine()), iNroDocumento); } catch (AcreditarDebitarException exc) { Console.WriteLine("Ha ocurrido un error al acreditar. \n {0}", exc); } finally { iSaldo = fachada.BuscarCuentasPorDoc(iNroDocumento).CajaAhorro.Saldo; MostrarSaldo(iSaldo); } break; default: num = 0; break; } PantallaDeSaldos(); num = Convert.ToInt32(Console.ReadLine()); } break; } else { Console.WriteLine(); Console.WriteLine("No se ha agregado ningún Cliente"); break; } } } }
static void Main(string[] args) { Fachada fachada = new Fachada(); int op, tipo,cuotas, año, mes,dia; double salario, monto; String nombre, apellido; DateTime fechaNacimiento, fechaIngreso; do { Console.Clear(); Console.WriteLine("Selecciones la accion:"); Console.WriteLine("1---REGISTRAR CLIENTE"); Console.WriteLine("2---VERIFICAR SOLICITUD"); Console.WriteLine("3---MODIFICAR TIPO DE CLIENTE"); Console.WriteLine("4---salir"); Console.WriteLine(""); Console.Write("OPCION: "); op = Convert.ToInt32(Console.ReadLine()); Console.Clear(); switch (op) { case 1: Console.WriteLine("Ingrese las datos de cliente"); Console.Write("Nombre: "); nombre = Console.ReadLine(); Console.Write("Apellido: "); apellido = Console.ReadLine(); Console.WriteLine("Facha de nacimiento "); Console.Write("Año: "); año = Convert.ToInt32(Console.ReadLine()); Console.Write("Mes: "); mes = Convert.ToInt32(Console.ReadLine()); Console.Write("Dia: "); dia= Convert.ToInt32(Console.ReadLine()); fechaNacimiento = new DateTime(año, mes, dia); Console.Write("Salario: "); salario = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Facha de inicio laboral "); Console.Write("Año: "); año = Convert.ToInt32(Console.ReadLine()); Console.Write("Mes: "); mes = Convert.ToInt32(Console.ReadLine()); Console.Write("Dia: "); dia = Convert.ToInt32(Console.ReadLine()); fechaIngreso = new DateTime(año, mes, dia); fachada.RegistrarCliente(nombre, apellido, fechaNacimiento, salario, fechaIngreso); Console.ReadKey(); break; case 2: if (fachada.MostrarCliente()) { Console.WriteLine("Ingrese datos de solicitud"); Console.Write("Monto: "); monto = Convert.ToDouble(Console.ReadLine()); Console.Write("Cuotas: "); cuotas = Convert.ToInt32(Console.ReadLine()); fachada.ValidarSolicitud(monto, cuotas); } Console.ReadKey(); break; case 3: if (fachada.MostrarCliente()) { Console.WriteLine("Ingrese la opcion"); Console.WriteLine("1-Tipo CLIENTE, 2-Tipo CLIENTE GOLD, 3-Tipo CLIENTE PREMIUM"); switch (Console.ReadLine()) { case "1": fachada.ModificarTipoCliente(TipoCliente.Cliente); break; case "2": fachada.ModificarTipoCliente(TipoCliente.ClienteGold); break; case "3": fachada.ModificarTipoCliente(TipoCliente.ClientePremium); break; } } Console.ReadKey(); break; default: break; } } while (op != 4); }