private static Empleado ValidarEmpleado(int opcionMenu)
        {
            Empleado empleado     = null;
            string   apellido     = ServValidac.PedirStrNoVac("Ingrese apellido ");
            string   nombre       = ServValidac.PedirStrNoVac("Ingrese nombre");
            DateTime fechanac     = ServValidac.PedirFechaNac("Ingrese fecha de nacimiento");
            DateTime fechaIngreso = ServValidac.PedirFechaNac("Ingrese fecha de ingreso");
            int      legajo       = ServValidac.PedirInt("Ingrese legajo");
            double   bruto        = ServValidac.PedirDouble("Ingrese remuneracion bruta");

            if (opcionMenu == (int)TipoEmpleado.Directivo)
            {
                empleado = new Directivo(nombre, apellido, fechanac, fechaIngreso, legajo, bruto);
                //ValidoExcepciones(facultad, empleado);
            }
            else if (opcionMenu == (int)TipoEmpleado.Docente)
            {
                empleado = new Docente(nombre, apellido, fechanac, fechaIngreso, legajo, bruto);
                //ValidoExcepciones(facultad, empleado);
            }
            else if (opcionMenu == (int)TipoEmpleado.Bedel)
            {
                string apodo = ServValidac.PedirStrNoVac("Ingrese apodo");
                empleado = new Bedel(nombre, apodo, apellido, fechanac, fechaIngreso, legajo, bruto);
                //ValidoExcepciones(facultad, empleado);
            }
            return(empleado);
        }
Exemplo n.º 2
0
        static void Alta_Empleado()
        {
            Helper.PonerTitulo("4 –  Alta de Empleado");
            Empleado ret  = null;
            var      tipo = (int)Helper.PedirTipoEmpleado(typeof(TipoEmpleado));


            switch (tipo)
            {
            case  1:
                ret = new Bedel();
                break;

            case 2:
                ret = new Directivo();
                break;

            case 3:
                ret = new Docente();
                break;

            default:
                throw new facuException("Este tipo de empleado no existe");
                break;
            }


            ret.Nombre   = (string)Helper.PedirPropiedad("Nombre", typeof(string));
            ret.Apellido = (string)Helper.PedirPropiedad("Apellido", typeof(string));
            ret.Legajo   = (int)Helper.PedirPropiedad("Legajo", typeof(int));

            try
            {
                facu.AgregarEmpleado(ret);
                Console.WriteLine("Empleado creado");
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            Helper.Continuar();
        }
        private static void ModificarEmpleado(Facultad facultad)
        {
            try
            {
                Console.WriteLine("Los empleados disponibles para su modificacion son: \n" + facultad.ListarEmpleados());
                int legajo = ServValidac.PedirInt("Ingrese el codigo de empleado a modificar");
                Console.WriteLine("El alumno a modificar es: \n" + facultad.TraerEmpleadoPorLegajo(legajo));
                Empleado empleadoAModificar = facultad.TraerEmpleadoPorLegajo(legajo);
                string   apellido           = ServValidac.PedirStrNoVac("Ingrese apellido ");
                string   nombre             = ServValidac.PedirStrNoVac("Ingrese nombre");
                DateTime fechanac           = ServValidac.PedirFechaNac("Ingrese fecha de nacimiento");
                DateTime fechaIngreso       = ServValidac.PedirFechaNac("Ingrese fecha de ingreso");
                double   bruto = ServValidac.PedirDouble("Ingrese remuneracion bruta");

                Empleado empleadoNuevo = null;
                if (empleadoAModificar is Bedel)
                {
                    string apodo = ServValidac.PedirStrNoVac("Ingrese apodo");
                    empleadoNuevo = new Bedel(nombre, apodo, apellido, fechanac, fechaIngreso, legajo, bruto);
                }
                else if (empleadoAModificar is Docente)
                {
                    empleadoNuevo = new Docente(nombre, apellido, fechanac, fechaIngreso, legajo, bruto);
                }
                else if (empleadoAModificar is Directivo)
                {
                    empleadoNuevo = new Directivo(nombre, apellido, fechanac, fechaIngreso, legajo, bruto);
                }

                facultad.ModificarEmpleado(empleadoNuevo);
                Console.WriteLine("El empleado quedo modificado de la siguiente manera: \n" + facultad.TraerEmpleadoPorLegajo(legajo));
            }
            catch (MenorDeEdadException ed)
            {
                Console.WriteLine(ed.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Exemplo n.º 4
0
        public static void ModificarEmpleado(Facultad facultad)
        {
            string   nombre;
            string   apellido;
            DateTime fechaNac;
            DateTime fechaIngreso;
            string   apodo = "";

            ListarTodosLosEmpleados(facultad);
            Empleado empleado = facultad.TraerEmpleadoPorLegajo(Validaciones.Entero("legajo", Validaciones.minLegajo, Validaciones.maxLegajo));

            if (empleado == null)
            {
                Console.WriteLine("No hay empleado con ese legajo");
            }
            else
            {
                Console.WriteLine("Desea cambiar el nombre " + empleado.Nombre + "? Ingrese S si desea cambiarlo....");
                if (Console.ReadLine().ToLower() == "s")
                {
                    nombre = Validaciones.Texto("nuevo nombre");
                }
                else
                {
                    nombre = empleado.Nombre;
                }

                Console.WriteLine("Desea cambiar el apellido " + empleado.Apellido + "? Ingrese S si desea cambiarlo....");
                if (Console.ReadLine().ToLower() == "s")
                {
                    apellido = Validaciones.Texto("nuevo apellido");
                }
                else
                {
                    apellido = empleado.Apellido;
                }

                Console.WriteLine("Desea cambiar la fecha de nacimiento " + empleado.FechaNacimiento.ToString("DD/MM/YYYY") + "? Ingrese S si desea cambiarlo....");
                if (Console.ReadLine().ToLower() == "s")
                {
                    fechaNac = Validaciones.Fecha("nueva fecha de nacimiento");
                }
                else
                {
                    fechaNac = empleado.FechaNacimiento;
                }

                Console.WriteLine("Desea cambiar la fecha de ingreso " + empleado.FechaIngreso.ToString("dd/MM/YYYY") + "? Ingrese S si desea cambiarlo....");
                if (Console.ReadLine().ToLower() == "s")
                {
                    fechaIngreso = Validaciones.Fecha("nueva fecha de ingreso");
                }
                else
                {
                    fechaIngreso = empleado.FechaIngreso;
                }

                if (empleado is Bedel)
                {
                    Bedel empleadoAux = (Bedel)empleado;
                    Console.WriteLine("Desea cambiar el apodo " + empleadoAux.Apodo + "? Ingrese S si desea cambiarlo....");
                    if (Console.ReadLine().ToLower() == "s")
                    {
                        apodo = Validaciones.Texto("nuevo apodo");
                    }
                    else
                    {
                        apodo = empleadoAux.Apodo;
                    }
                }

                try
                {
                    facultad.ModificarEmpleado(nombre, apellido, fechaNac, empleado.Legajo, fechaIngreso, apodo);
                    Console.WriteLine("El Empleado se modifico con exito!");
                }
                catch (Exception e)
                {
                    Console.WriteLine("Error - " + e.Message);
                }
            }
        }
Exemplo n.º 5
0
        static void Main(string[] args)
        {
            int      opcionMenu;
            int      codAlumno;
            string   nombre;
            string   apellido;
            string   apodo;
            int      codEmpleado;
            int      tipoEmpleado;
            DateTime fechaNacimiento;
            DateTime fechaIngreso;
            Facultad facultad = new Facultad("UBA");

            while (true)
            {
                DesplegarOpcionesMenu();
                opcionMenu = Validacion.PedirNumero("la opción de menú que desee");
                switch (opcionMenu)
                {
                case 1:
                    //Agregar alumno
                    nombre          = Validacion.PedirString("nombre del alumno");
                    apellido        = Validacion.PedirString("apellido del alumno");
                    fechaNacimiento = Validacion.PedirFecha("fecha de nacimiento");
                    try {
                        facultad.AgregarAlumno(nombre, apellido, fechaNacimiento);
                    }
                    catch (AlumnoExistenteException e)
                    {
                        Console.WriteLine(e);
                    }
                    break;

                case 2:
                    //modificar alumno
                    ListarAlumnosDe(facultad);
                    codAlumno = Validacion.PedirNumero("el código de alumno a modificar");
                    try
                    {
                        Console.WriteLine("Elegiste " + facultad.BuscarAlumno(codAlumno).ToString());
                        nombre          = Validacion.PedirString("nombre del alumno");
                        apellido        = Validacion.PedirString("apellido del alumno");
                        fechaNacimiento = Validacion.PedirFecha("fecha de nacimiento");
                        Alumno alumnoAModificar = new Alumno(nombre, apellido, fechaNacimiento, codAlumno);
                        facultad.ModificarAlumno(alumnoAModificar);
                        Console.WriteLine("Alumno modificado exitosamente");
                    }
                    catch (PersonaInexistenteException e)
                    {
                        Console.WriteLine(e.Message);
                    }
                    break;

                case 3:
                    //eliminar alumno
                    facultad.AgregarAlumno("Michelle", "Rosenblat", new DateTime(1998, 03, 04));
                    facultad.AgregarAlumno("Juan", "Perez", new DateTime(1998, 04, 04));
                    ListarAlumnosDe(facultad);
                    codAlumno = Validacion.PedirNumero("el código de alumno a eliminar");
                    try
                    {
                        facultad.EliminarAlumno(codAlumno);
                        Console.WriteLine("Alumno eliminado exitosamente");
                    }
                    catch (PersonaInexistenteException e)
                    {
                        Console.WriteLine(e.Message);
                    }
                    break;

                case 4:
                    //buscar alumno especifico
                    codAlumno = Validacion.PedirNumero("el código de alumno a buscar");
                    try {
                        Console.WriteLine(facultad.BuscarAlumno(codAlumno));
                    }
                    catch (PersonaInexistenteException e)
                    {
                        Console.WriteLine(e.Message);
                    }
                    break;

                case 5:
                    //listar todos los alumnos
                    ListarAlumnosDe(facultad);
                    break;

                case 6:
                    //agregar empleado
                    //esto se puede mejorar? para no tener q asignar todo el tiempo en estas variables.
                    nombre          = Validacion.PedirString("nombre del empleado");
                    apellido        = Validacion.PedirString("apellido del empleado");
                    fechaNacimiento = Validacion.PedirFecha("fecha de nacimiento del empleado");
                    fechaIngreso    = Validacion.PedirFecha("fecha de ingreso del empleado");
                    tipoEmpleado    = Validacion.PedirNumero("1 para Docente, 2 para Directivo, 3 para Bedel");
                    switch (tipoEmpleado)
                    {
                    case 1:
                        facultad.AgregarEmpleado(nombre, apellido, fechaNacimiento, fechaIngreso, tipoEmpleado);
                        break;

                    case 2:
                        facultad.AgregarEmpleado(nombre, apellido, fechaNacimiento, fechaIngreso, tipoEmpleado);
                        break;

                    case 3:
                        apodo = Validacion.PedirString("apodo del bedel");
                        facultad.AgregarEmpleado(nombre, apodo, apellido, fechaNacimiento, fechaIngreso, tipoEmpleado);
                        break;
                    }
                    break;

                case 7:
                    //Modificar empleado
                    Docente michu = new Docente("Michelle", "Rosen", new DateTime(1998, 04, 03), new DateTime(2020, 10, 05), facultad.UltimoLegajoEmpleado() + 1);
                    facultad.AgregarEmpleado(michu);
                    ListarEmpleadosDe(facultad);
                    codEmpleado = Validacion.PedirNumero("el código de empleado a modificar");
                    try
                    {
                        Empleado empleadoAModificar = facultad.BuscarEmpleado(codEmpleado);
                        Console.WriteLine("Elegiste " + empleadoAModificar.GetCredencial());
                        switch (empleadoAModificar)
                        {
                        case Docente docente:
                            ModificarEmpleado(out nombre, out apellido, out fechaNacimiento, out fechaIngreso, empleadoAModificar);
                            Docente docenteAModificar = new Docente(nombre, apellido, fechaNacimiento, fechaIngreso, codEmpleado);
                            facultad.ModificarEmpleado(docenteAModificar);
                            Console.WriteLine(docenteAModificar.ToString());
                            break;

                        case Directivo directivo:
                            ModificarEmpleado(out nombre, out apellido, out fechaNacimiento, out fechaIngreso, empleadoAModificar);
                            Directivo directivoAModificar = new Directivo(nombre, apellido, fechaNacimiento, fechaIngreso, codEmpleado);
                            facultad.ModificarEmpleado(directivoAModificar);
                            Console.WriteLine(directivoAModificar.ToString());
                            break;

                        case Bedel bedel:
                            ModificarEmpleado(out nombre, out apellido, out fechaNacimiento, out fechaIngreso, empleadoAModificar);
                            Console.WriteLine(bedel.Apodo);
                            apodo = Validacion.PedirStringOEnter("apodo", bedel.Apodo);
                            Bedel bedelAModificar = new Bedel(nombre, apellido, apodo, fechaNacimiento, fechaIngreso, codEmpleado);
                            facultad.ModificarEmpleado(bedelAModificar);
                            Console.WriteLine(bedelAModificar.ToString());
                            break;
                        }
                    }
                    catch (PersonaInexistenteException e)
                    {
                        Console.WriteLine(e.Message);
                    }
                    break;

                case 8:
                    ListarEmpleadosDe(facultad);
                    codEmpleado = Validacion.PedirNumero("el código de empleado a eliminar");
                    try
                    {
                        Empleado empleadoAEliminar = facultad.BuscarEmpleado(codEmpleado);
                        Console.WriteLine("Elegiste " + empleadoAEliminar.GetCredencial());
                        facultad.EliminarEmpleado(codEmpleado);
                        Console.WriteLine("Se ha eliminado exitosamente el empleado con codigo " + codEmpleado);
                    }
                    catch (PersonaInexistenteException ex)
                    {
                        Console.WriteLine(ex.Message);
                    }

                    break;

                case 9:
                    try {
                        codEmpleado = Validacion.PedirNumero("el código de empleado a buscar");
                        Empleado empleado = facultad.BuscarEmpleado(codEmpleado);
                        Console.WriteLine("Elegiste a " + empleado.ToString());
                    }
                    catch (PersonaInexistenteException ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                    break;


                case 10:
                    ListarEmpleadosDe(facultad);
                    break;
                }
            }
        }
Exemplo n.º 6
0
        static void Main(string[] args)
        {
            Facultad f1 = new Facultad("La Dieguito Maradona", 1);

            Console.WriteLine("Bienvenido a " + f1.Nombre + " - Presione -ENTER- para continuar..");

            bool finalizar = false;


            do
            {
                int eleccion = ConsolaHelper.PedirNumero("\nSelecione opción: \n1 - Agregar Alumno \n" +
                                                         "2- Agregar Empleado \n3- Eliminar Alumno \n4- Eliminar Empleado \n5- Modificar Empleado \n" +
                                                         "6- Traer Alumnos \n7- Traer Empleados x legajo \n8- Traer Empleados \n" +
                                                         "9- Traer Empleados x nombre \n10- Agregar Salario \n11- Apagar \n");

                if (eleccion > 11)
                {
                    throw new Exception("Eliga una opción válida");
                }
                else
                {
                    switch (eleccion)
                    {
                    case 1:
                        Alumno al = new Alumno(f1.TraerUltimoCodigo(), ConsolaHelper.PedirTexto("Ingrese nombre"), ConsolaHelper.PedirTexto("Ingrese apellido"), ConsolaHelper.PedirFecha("Ingrese fecha de nacimiento"));
                        f1.AgregarAlumno(al);
                        Console.WriteLine("\nSe ha ingresado el alumno con éxito");
                        break;

                    case 2:
                        int tipo = ConsolaHelper.PedirNumero("Ingrese el tipo de empleado: 1-Bedel 2 -Docente 3 - Directivo");
                        switch (tipo)
                        {
                        case 1:
                            Bedel bedel = new Bedel(ConsolaHelper.PedirTexto("Ingrese apodo"), ConsolaHelper.PedirTexto("Ingrese nombre"), ConsolaHelper.PedirTexto("Ingrese apellido"), ConsolaHelper.PedirFecha("Ingrese fecha de nacimiento"), ConsolaHelper.PedirFecha("Ingrese fecha de ingreso"), f1.TraerUltimoLegajo());
                            f1.AgregarEmpleado(bedel, tipo, bedel.Apodo);
                            Console.WriteLine("\nSe ha ingresado el empleado con éxito");
                            break;

                        case 2:
                            Docente docente = new Docente(ConsolaHelper.PedirTexto("Ingrese nombre"), ConsolaHelper.PedirTexto("Ingrese apellido"), ConsolaHelper.PedirFecha("Ingrese fecha de nacimiento"), f1.TraerUltimoLegajo(), ConsolaHelper.PedirFecha("Ingrese fecha de ingreso"));
                            Console.WriteLine("\nSe ha ingresado el empleado con éxito");
                            break;

                        case 3:
                            Directivo directivo = new Directivo(ConsolaHelper.PedirTexto("Ingrese nombre"), ConsolaHelper.PedirTexto("Ingrese apellido"), ConsolaHelper.PedirFecha("Ingrese fecha de nacimiento"), f1.TraerUltimoLegajo(), ConsolaHelper.PedirFecha("Ingrese fecha de ingreso"));
                            Console.WriteLine("\nSe ha ingresado el empleado con éxito");
                            break;
                        }
                        break;

                    case 3:
                        f1.EliminarAlumno(ConsolaHelper.PedirNumero("Ingrese código del alumno"));
                        Console.WriteLine("\nSe ha eliminado el alumno con éxito");
                        break;

                    case 4:
                        f1.EliminarEmpleado(ConsolaHelper.PedirNumero("Ingrese legajo del empleado"));
                        Console.WriteLine("\nSe ha eliminado el empleado con éxito");
                        break;

                    case 5:
                        Empleado amodificar = f1.TraerEmpleadoPorLegajo(ConsolaHelper.PedirNumero("Ingrese número de legajo"));
                        Console.WriteLine(amodificar.GetNombreCompleto());
                        f1.ModificarEmpleado(ConsolaHelper.PedirTexto("Ingrese nuevo apellido"), ConsolaHelper.PedirTexto("Ingrese nuevo nombre"), amodificar.Legajo, ConsolaHelper.PedirTexto("En caso de ser bedel ingrese apodo"));
                        Console.WriteLine("\nSe ha modificado el empleado con éxito");
                        break;

                    case 6:
                        Console.WriteLine(f1.ListarAlumnos());
                        break;

                    case 7:
                        Console.WriteLine(f1.TraerEmpleadoPorLegajo(ConsolaHelper.PedirNumero("Ingrese legajo")));
                        break;

                    case 8:
                        Console.WriteLine(f1.ListarEmpleados());
                        break;

                    case 9:
                        string listado = "";
                        foreach (Empleado emp in f1.TraerEmpleadoPorNombre(ConsolaHelper.PedirTexto("Ingrese nombre")))
                        {
                            listado += emp.GetNombreCompleto() + "\n";
                        }
                        Console.WriteLine("\n" + listado);
                        break;

                    case 10:
                        Console.WriteLine(f1.ListarEmpleados());
                        f1.AgregarNuevoSalario(ConsolaHelper.PedirNumero("Ingrese el legajo del empleado a ingresar salario"), new Salario(ConsolaHelper.PedirDouble("Ingrese sueldo bruto"), ConsolaHelper.PedirTexto("Ingrese código de transferencia")));
                        Console.WriteLine("\nSe ha agregado el nuevo salario con éxito");
                        break;

                    case 11:
                        finalizar = true;
                        break;
                    }
                }
            } while (finalizar == false);
        }