Beispiel #1
0
        public static void Main(string[] args)
        {
            Normal        _oNormal        = new Normal();
            Universitario _oUniversitario = new Universitario();

            // Cuando la opcion seleccionada no sea la opcion de salir(Que el booleano sea falso)
            try
            {
                while (OpcionMenu(_oNormal, _oUniversitario))
                {
                    ;
                }
            }
            catch (FormatException)
            {
                Console.WriteLine("Por favor elija una opción valida");
            }
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            /*El main fue cambiando ya que en el pdf, las clases se piden como
             * "Clases Abstractas" y "Clases Instanciales" y en el main esta como
             * "Entidades Abstractas" y "Entidades Instanciales"*/

            Universidad uni = new Universidad();
            Alumno      a1  = new Alumno(1, "Juan", "Lopez", "12234456",
                                         Clases_Abstractas.Persona.ENacionalidad.Argentino, Universidad.EClases.Programacion,
                                         Alumno.EEstadoCuenta.Becado);

            uni += a1;
            try
            {
                Alumno a2 = new Alumno(2, "Juana", "Martinez", "12234458",
                                       Clases_Abstractas.Persona.ENacionalidad.Extranjero, Universidad.EClases.Laboratorio,
                                       Alumno.EEstadoCuenta.Deudor);
                uni += a2;
            }
            catch (NacionalidadInvalidaException e)
            {
                Console.WriteLine(e.Message);
            }
            try
            {
                Alumno a3 = new Alumno(3, "José", "Gutierrez", "12234456",
                                       Clases_Abstractas.Persona.ENacionalidad.Argentino, Universidad.EClases.Programacion,
                                       Alumno.EEstadoCuenta.Becado);
                uni += a3;
            }
            catch (AlumnoRepetidoException e)
            {
                Console.WriteLine(e.Message);
            }
            Alumno a4 = new Alumno(4, "Miguel", "Hernandez", "92264456",
                                   Clases_Abstractas.Persona.ENacionalidad.Extranjero, Universidad.EClases.Legislacion,
                                   Alumno.EEstadoCuenta.AlDia);

            uni += a4;
            Alumno a5 = new Alumno(5, "Carlos", "Gonzalez", "12236456",
                                   Clases_Abstractas.Persona.ENacionalidad.Argentino, Universidad.EClases.Programacion,
                                   Alumno.EEstadoCuenta.AlDia);

            uni += a5;
            Alumno a6 = new Alumno(6, "Juan", "Perez", "12234656",
                                   Clases_Abstractas.Persona.ENacionalidad.Argentino, Universidad.EClases.Laboratorio,
                                   Alumno.EEstadoCuenta.Deudor);

            uni += a6;
            Alumno a7 = new Alumno(7, "Joaquin", "Suarez", "91122456",
                                   Clases_Abstractas.Persona.ENacionalidad.Extranjero, Universidad.EClases.Laboratorio,
                                   Alumno.EEstadoCuenta.AlDia);

            uni += a7;
            Alumno a8 = new Alumno(8, "Rodrigo", "Smith", "22236456",
                                   Clases_Abstractas.Persona.ENacionalidad.Argentino, Universidad.EClases.Legislacion,
                                   Alumno.EEstadoCuenta.AlDia);

            uni += a8;
            Profesor i1 = new Profesor(1, "Juan", "Lopez", "12234456",
                                       Clases_Abstractas.Persona.ENacionalidad.Argentino);

            uni += i1;
            Profesor i2 = new Profesor(2, "Roberto", "Juarez", "32234456",
                                       Clases_Abstractas.Persona.ENacionalidad.Argentino);

            uni += i2;
            try
            {
                uni += Universidad.EClases.Programacion;
            }
            catch (SinProfesorException e)
            {
                Console.WriteLine(e.Message);
            }
            try
            {
                uni += Universidad.EClases.Laboratorio;
            }
            catch (SinProfesorException e)
            {
                Console.WriteLine(e.Message);
            }
            try
            {
                uni += Universidad.EClases.Legislacion;
            }
            catch (SinProfesorException e)
            {
                Console.WriteLine(e.Message);
            }
            try
            {
                uni += Universidad.EClases.SPD;
            }
            catch (SinProfesorException e)
            {
                Console.WriteLine(e.Message);
            }
            Console.WriteLine(uni.ToString());
            Console.ReadKey();
            Console.Clear();
            try
            {
                Universidad.Guardar(uni);
                Console.WriteLine("Archivo de Universidad guardado.");
            }
            catch (ArchivosException e)
            {
                Console.WriteLine(e.Message);
            }
            try
            {
                int jornada = 0;
                Jornada.Guardar(uni[jornada]);
                Console.WriteLine("Archivo de Jornada {0} guardado.", jornada);
                //Console.WriteLine(Jornada.Leer());
            }
            catch (ArchivosException e)
            {
                Console.WriteLine(e.Message);
            }

            Console.WriteLine("----------------------- COMPARAR --------------------");
            Console.WriteLine(Universitario.Equals(a1, i1));

            Console.ReadKey();
        }
Beispiel #3
0
        /// <summary>
        /// Menú principal del sistema.
        /// </summary>
        /// <param name="_oNormal">Objeto de tipo cliente normal</param>
        /// <param name="_oUniversitario">Objeto de tipo cliente universitario</param>
        /// <returns></returns>
        public static bool OpcionMenu(Normal _oNormal, Universitario _oUniversitario)
        {
            Console.WriteLine("\nBienvenido a Banco Libertad, ¿Que movimiento desea realizar?\n");
            Console.WriteLine("1. Registrar Cuenta\n2. Ingresar a cuenta\n3. Salir");
            // Switch con el menú de opciones del menú principal.
            switch (Console.ReadLine())
            {
            case "1":
                Console.WriteLine("\nElija el tipo de cuenta a registrar por favor.");
                Console.WriteLine("\n1. Cuenta Normal\n2. Cuenta Universitaria");

                try
                {
                    int _iOpcionCuenta = Convert.ToInt32(Console.ReadLine());

                    if (_iOpcionCuenta == 1)
                    {
                        iIdCuenta   = _oNormal.RegistrarCuenta();  // Se invoca al método que registra una cuenta nueva de tipo normal.
                        iTipoCuenta = 1;
                    }
                    else if (_iOpcionCuenta == 2)
                    {
                        iIdCuenta   = _oUniversitario.RegistrarCuenta();  // Se invoca al método que registra una cuenta nueva de tipo universitario.
                        iTipoCuenta = 2;
                    }
                    else
                    {
                        iIdCuenta = -1;
                        Console.WriteLine("Por favor elija una opción valida.");
                    }
                    if (iIdCuenta != -1)
                    {
                        OpcionMovimiento(_oNormal, _oUniversitario, iTipoCuenta);    // Invoca al metodo Opcion Movimiento para desplegar el menu de opciones de movimientos.
                    }
                }
                catch (FormatException)
                {
                    Console.WriteLine("Por favor elija una opción valida.");
                }
                return(true);

            case "2":
                Console.WriteLine("Elija el tipo de cuenta a la cual desea ingresar");
                Console.WriteLine("1. Cuenta Normal\n2. Cuenta Universitaria");

                try
                {
                    int _iOpcionCuenta = Convert.ToInt32(Console.ReadLine());

                    if (_iOpcionCuenta == 1)
                    {
                        iIdCuenta   = _oNormal.IngresarCuenta();  // Método para ingresar a la cuenta elegida de tipo normal.
                        iTipoCuenta = 1;
                    }
                    else if (_iOpcionCuenta == 2)
                    {
                        iIdCuenta   = _oUniversitario.IngresarCuenta();  // Método para ingresar a la cuenta elegida de tipo universitario.
                        iTipoCuenta = 2;
                    }
                    else
                    {
                        Console.WriteLine("Por favor elija una opción valida.");
                    }


                    if (iIdCuenta != -1)
                    {
                        OpcionMovimiento(_oNormal, _oUniversitario, iTipoCuenta);    // Invoca al método Opción Movimiento para desplegar el menú de opciones de movimientos.
                    }
                    return(true);
                }
                catch (FormatException)
                {
                    Console.WriteLine("Por favor elija una opción valida.sdxcsdfs");
                    return(false);
                }

            case "3":    // Opcion para terminar la ejecución del programa.
                return(false);

            default:
                Console.Clear();
                Console.WriteLine("\nPor favor elija una opción valida.");
                return(true);
            }
        }
Beispiel #4
0
        /// <summary>
        /// Método para desplegar el menú de Opciones de Movimientos (Switch).
        /// </summary>
        /// <param name="_oNormal">Objeto de tipo cliente normal</param>
        /// <param name="_oUniversitario">Objeto de tipo cliente universitario</param>
        /// <param name="iTipoCuenta">tipo de cuenta (universitario o normal)</param>
        public static void OpcionMovimiento(Normal _oNormal, Universitario _oUniversitario, short iTipoCuenta)
        {
            bool lValidar = true;

            while (lValidar)
            {
                Console.WriteLine("\nSeleccione una operación a realizar:\n\n1. Retirar\n2. Depositar\n3. Consultar Saldo\n4. Menú Principal");

                switch (Console.ReadLine())
                {
                case "1":    // Retirar
                    Console.Clear();
                    Console.Write("Por favor indique el monto a retirar: ");
                    try
                    {
                        decimal dMonto = Convert.ToDecimal(Console.ReadLine());

                        if (iTipoCuenta == 1)
                        {
                            _oNormal.Retirar(iIdCuenta, dMonto);    // Método de la clase normal para retirar.
                        }
                        else if (iTipoCuenta == 2)
                        {
                            _oUniversitario.Retirar(iIdCuenta, dMonto);    // Método de la clase universitario para retirar.
                        }
                    }
                    catch (FormatException)
                    {
                        Console.WriteLine("Por favor ingrese un monto válido.");
                    }
                    lValidar = true;
                    break;

                case "2":    // Depositar
                    Console.Clear();
                    Console.WriteLine("\nSeleccione el tipo de deposito:\n\n1. Deposito a otra cuenta\n2. Deposito a cuenta personal");
                    try
                    {
                        int _iOpcionDeposito = Convert.ToInt32(Console.ReadLine());

                        if (_iOpcionDeposito == 1)     // Si se elige deposito a otra cuenta
                        {
                            Console.WriteLine("\nSeleccione el tipo de cuenta a depositar:\n\n1. Cuenta Normal\n2. Cuenta Universitaria");

                            try
                            {
                                int _iOpcionCuenta = Convert.ToInt32(Console.ReadLine());
                                int iIdCuentaDeposito;

                                if (_iOpcionCuenta == 1)
                                {
                                    iTipoCuenta = 1;

                                    iIdCuentaDeposito = _oNormal.ValidarNumeroCuenta();    // Se valida que exista la cuenta a la cual se desea depositar.

                                    if (iIdCuentaDeposito != -1)
                                    {
                                        string cConcepto   = _oNormal.ObtenerConcepto();  // Se invoca al método que captura el concepto del deposito.
                                        bool   verificador = true;

                                        while (verificador)
                                        {
                                            try
                                            {
                                                decimal dMonto = _oNormal.MontoDepositar();                            // Se invoca al método que captura el monto a depositar.
                                                verificador = false;
                                                _oNormal.Depositar(iIdCuentaDeposito, iTipoCuenta, dMonto, cConcepto); // Se invoca al método que Depositar el cual hace la implementación de dicho método de la Interfaz IDepositar en la clase Normal.
                                            }
                                            catch (FormatException)
                                            {
                                                Console.WriteLine("\nPor favor ingrese un monto válido, intente de nuevo...\n");
                                                verificador = true;
                                            }
                                        }
                                    }
                                }
                                else if (_iOpcionCuenta == 2)
                                {
                                    iTipoCuenta = 2;

                                    iIdCuentaDeposito = _oUniversitario.ValidarNumeroCuenta();    // Se valida que exista la cuenta a la cual se desea depositar.

                                    if (iIdCuentaDeposito != -1)
                                    {
                                        string cConcepto   = _oUniversitario.ObtenerConcepto();  // Se invoca al método que captura el concepto del deposito.
                                        bool   verificador = true;

                                        while (verificador)
                                        {
                                            try
                                            {
                                                decimal dMonto = _oUniversitario.MontoDepositar();    // Se invoca al método que captura el monto a depositar.

                                                verificador = false;

                                                _oUniversitario.Depositar(iIdCuentaDeposito, iTipoCuenta, dMonto, cConcepto);    // Se invoca al método que Depositar el cual hace la implementación de dicho método de la Interfaz IDepositar en la clase Universitario.

                                                lValidar = false;
                                            }
                                            catch (FormatException)
                                            {
                                                Console.WriteLine("\nPor favor ingrese un monto válido, intente de nuevo...\n");
                                                verificador = true;
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    Console.WriteLine("Por favor elija una opción valida.");
                                }
                            }
                            catch (FormatException)
                            {
                                Console.WriteLine("Por favor elija una opción valida.");
                            }
                        }
                        else if (_iOpcionDeposito == 2)   // Si se elige deposito a la misma cuenta.
                        {
                            if (iTipoCuenta == 1)         // Tipo de cuenta normal
                            {
                                bool verificador = true;
                                while (verificador)
                                {
                                    try
                                    {
                                        decimal dMonto = _oNormal.MontoDepositar();         // Se invoca al método que captura el monto a depositar.
                                        verificador = false;
                                        _oNormal.Depositar(iIdCuenta, iTipoCuenta, dMonto); // Se hace la instancia del objeto Normal para instanciar el método Depositar.
                                    }
                                    catch (FormatException)
                                    {
                                        Console.WriteLine("\nPor favor ingrese un monto válido, intente de nuevo...\n");
                                        verificador = true;
                                    }
                                }
                            }
                            else if (iTipoCuenta == 2)         // Tipo de cuenta universitario.
                            {
                                bool verificador = true;
                                while (verificador)
                                {
                                    try
                                    {
                                        decimal dMonto = _oUniversitario.MontoDepositar();         // Se invoca al método que captura el monto a depositar.
                                        verificador = false;
                                        _oUniversitario.Depositar(iIdCuenta, iTipoCuenta, dMonto); // Se hace la instancia del objeto Universitario para instanciar el método Depositar.
                                    }
                                    catch (FormatException)
                                    {
                                        Console.WriteLine("\nPor favor ingrese un monto válido, intente de nuevo...\n");
                                        verificador = true;
                                    }
                                }
                            }
                            else
                            {
                                Console.WriteLine("Por favor elija una opción valida.");
                            }
                        }
                        else
                        {
                            Console.WriteLine("Por favor elija una opción valida.");
                        }
                    }
                    catch (FormatException)
                    {
                        Console.WriteLine("Por favor elija una opción valida.");
                    }

                    lValidar = false;
                    break;

                case "3":    // Consulta el saldo del cliente.
                    Console.Clear();
                    if (iTipoCuenta == 1)
                    {
                        Console.WriteLine(_oNormal.ConsultarSaldo(_oNormal._lstNormal[iIdCuenta].dSaldo));
                    }
                    else if (iTipoCuenta == 2)
                    {
                        Console.WriteLine(_oNormal.ConsultarSaldo(_oUniversitario._lstUniversitarios[iIdCuenta].dSaldo));
                    }
                    lValidar = true;
                    break;

                case "4":
                    Console.Clear();
                    lValidar = false;
                    break;

                default:
                    Console.Clear();
                    Console.WriteLine("Por favor elija una opción valida.");
                    lValidar = true;
                    break;
                }
            }
        }