예제 #1
0
파일: Program.cs 프로젝트: matiascc/TP4
        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;
                    }
                }
            }
        }
예제 #2
0
        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);
        }