}//fin constructor

        //parametros-metodos

        /*
         * GetObjetoEmpleado: este metodo se encarga de llenar los ObjetoEmpleado, verifica tambien que no se ingresen
         * parametros vacios y devuelve el ObjetoEmpleado lleno correctamente
         */
        public ObjetoEmpleado GetObjetoEmpleado(int identificacionPersona, string nombrePersona, string primerApellido, string segundoApellido,
                                                double salarioEmpleado)
        {
            if (nombrePersona != "" && primerApellido != "" && segundoApellido != "" && salarioEmpleado != 0)
            {
                return(this.miObjetoEmpleado = new ObjetoEmpleado(identificacionPersona, nombrePersona, primerApellido, segundoApellido,
                                                                  salarioEmpleado));
            }//fin if datos no vacios
            else
            {
                return(null);
            } //fin else datos vacios
        }     //fin GetObjetoEmpleado
        }//fin constructor

        //parametros-metodos

        /* RegistrarEmpleado: este metodo se encarga de registrar los objetos Empleado en un array programado manualmente
         * que es de tipo ObjetoEmpleado, de un tamano predeterminado 10.
         *
         */
        public string RegistrarEmpleado(int indice, ObjetoEmpleado objetoEmpleado)
        {
            String salida = "";

            if (indice >= 0 && indice < this.tamano)
            {
                if (this.miArrayEmpleado[indice] == null)
                {
                    this.miArrayEmpleado[indice] = objetoEmpleado;
                    salida = "Se agregó bien.";
                }//fin if array lleno
                else
                {
                    return("El indice está llena.");
                } //fin else array lleno
            }     //fin if indice
            else
            {
                return("Indice fuera de rango.");
            } //fin else indice
            return(salida);
        }     //fin RegistrarEmpleado
Esempio n. 3
0
        }//fin constructor

        //parametros o metodos

        /*
         * menu: se encarga de desplegar el menu principal con el que interactua el usuario
         */
        public void menu()
        {
            //do while
            do
            {
                try
                {
                    this.intOpcion = miVistaAplicacion.MenuPrincipal();//mostrar el menu y obtener la opcion deseada
                    switch (this.intOpcion)
                    {
                    case 1:    //Registrar Finca.
                        try
                        {
                            //bucle para preguntar si desea registrar fincas o desea salir al menu principal
                            do
                            {
                                this.intOpcionFinca = this.miVistaAplicacion.inputInt("1. Desea continuar registrando fincas." +
                                                                                      "\n2. Salir al menu principal.");

                                switch (this.intOpcionFinca)
                                {
                                case 1:
                                    //contador para tope de 10 objetos finca
                                    if (this.intContadorFinca < 10)
                                    {
                                        //verificar si existe o no el numero de codigo
                                        if (this.miControladorFinca.VerificarNumero(this.intNumeroFinca = this.miVistaAplicacion.inputInt("Digite el numero de finca:")) == -1)
                                        {
                                            //llenar ObjetoFinca
                                            this.miObjetoFinca = this.miControladorFinca.GetObjetoFinca(this.intNumeroFinca,
                                                                                                        this.miVistaAplicacion.input("Digite el nombre de finca:"),
                                                                                                        this.miVistaAplicacion.input("Digite la direccion de finca:"),
                                                                                                        this.miVistaAplicacion.input("Digite el telefono de finca:"),
                                                                                                        this.miVistaAplicacion.inputDouble("Digite el tamano de finca:"));
                                            //verificar si ObjetoFinca no tiene datos vacios
                                            if (this.miObjetoFinca != null)
                                            {
                                                //registrar finca
                                                this.miVistaAplicacion.output(this.miControladorFinca.RegistrarFinca(this.intIndiceFinca2, this.miObjetoFinca));
                                                this.intIndiceFinca2++;
                                                this.intContadorFinca++;
                                            }        //fin if verificar ObjetoFinca
                                            else
                                            {
                                                this.miVistaAplicacion.output("Uno o varios datos digitados estan vacios. No se puede registrar.");
                                            }    //fin else verificar ObjetoFinca
                                        }        //fin if verificar si existe o no el numero identificador de la finca
                                        else
                                        {
                                            this.miVistaAplicacion.output("El numero de codigo de finca ya existe. Por favor digite otro.");
                                        }    //fin else verificar si existe o no el numero identificador de la finca
                                    }        //fin if
                                    else
                                    {
                                        this.miVistaAplicacion.output("Ya registro el limite de fincas equivalente a 10.");
                                        this.menu();
                                    }
                                    break;

                                case 2:
                                    this.menu();
                                    break;

                                default:
                                    //mensaje opcion incorrecta
                                    this.miVistaAplicacion.output("Opcion fuera del rango.");
                                    break;
                                }                               //fin switch
                            } while (this.intOpcionFinca != 2); //fin while
                        }                                       //fin try
                        catch (Exception ex)
                        {
                            this.miVistaAplicacion.output("Ha introducido un valor invalido.");
                        }    //fin catch
                        break;

                    case 2:    //Registrar Dueño./////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                        try
                        {
                            //bucle para preguntar si desea registrar duenos o salir al menu principal
                            do
                            {
                                this.intOpcionDueno = this.miVistaAplicacion.inputInt("1. Desea continuar registrando duenos." +
                                                                                      "\n2. Salir al menu principal.");

                                switch (this.intOpcionDueno)
                                {
                                case 1:
                                    //contador para tope de 10 objetos duenos
                                    if (this.intContadorDueno < 10)
                                    {
                                        //verificar si existe o no un dueno registrado con una identificacion digitada por el usuario
                                        if (this.miControladorDueno.VerificarIdentificacion(this.intIdentificacionDueno = this.miVistaAplicacion.inputInt("Digite la identificacion del dueno:")) == -1)
                                        {
                                            //verificar si existen fincas, si no hay no se puede registrar duenos
                                            if (this.miControladorFinca.GetArrayObjetosFinca().GetValue(0) != null)
                                            {
                                                //verificar si usuario elije un indice correcto de 1 a 10 arreglo de fincas
                                                if (
                                                    this.VerificarIndice(this.intIndiceFinca = this.miVistaAplicacion.inputInt(this.miControladorFinca.MostrarFinca() + "\nDigite el indice de la finca del dueno:")) == true)
                                                {
                                                    //verificar si el objeto en la posicion[indice digitado] en el arreglo no esta vacio
                                                    if (this.miControladorFinca.GetObjetoFinca(this.intIndiceFinca).GetInformacionObjetoFinca() != null)
                                                    {
                                                        //llenar ObjetoDueno
                                                        this.miObjetoDueno = this.miControladorDueno.GetObjetoDueno(this.intIdentificacionDueno,
                                                                                                                    this.miVistaAplicacion.input("Digite el nombre del dueno:"),
                                                                                                                    this.miVistaAplicacion.input("Digite el primer apellido del dueno:"),
                                                                                                                    this.miVistaAplicacion.input("Digite el segundo apellido del dueno:"),
                                                                                                                    this.miVistaAplicacion.input("Digite el correo electronico del dueno:"),
                                                                                                                    this.miVistaAplicacion.input("Digite el numero de celular del dueno:"),
                                                                                                                    this.miControladorFinca.GetObjetoFinca(this.intIndiceFinca));
                                                        //verificar que no hayan datos vacion
                                                        if (this.miObjetoDueno != null)
                                                        {
                                                            //registrar un Dueno
                                                            this.miVistaAplicacion.output(this.miControladorDueno.RegistrarDueno(this.intIndiceDueno, this.miObjetoDueno));
                                                            this.intIndiceDueno++;
                                                            this.intContadorDueno++;
                                                        }        //fin if verificar datos no vacios
                                                        else
                                                        {
                                                            this.miVistaAplicacion.output("Uno o varios datos digitados estan vacios. No se puede registrar.");
                                                        } //fin else verificar datos vacios
                                                    }     //fin if arreglo no vacio
                                                }         //fin if verificar objetos dentro de rango
                                                else
                                                {
                                                    this.miVistaAplicacion.output("Ha digitado un indice fuera de rango.");
                                                }    //fin else verificar objetos dentro de rango
                                            }        //fin if verificar que objetos no esten vacios
                                            else
                                            {
                                                this.miVistaAplicacion.output("No hay fincas registradas aun. Por favor dirigase a registrarlas.");
                                            }    //fin else verificar objetos si estan vacios
                                        }        //fin if verificar
                                        else
                                        {
                                            this.miVistaAplicacion.output("Ya existe un dueno registrado con esa identificacion. Por favor digite otra.");
                                        }    //fin else verificar
                                    }        //fin if contador dueno
                                    else
                                    {
                                        this.miVistaAplicacion.output("Ya registro el limite de duenos equivalente a 10.");
                                        this.menu();
                                    }        //fin else contador animal
                                    break;

                                case 2:
                                    this.menu();
                                    break;

                                default:
                                    //mensaje opcion incorrecta
                                    this.miVistaAplicacion.output("Opcion fuera del rango.");
                                    break;
                                }                               //fin switch
                            } while (this.intOpcionDueno != 2); //fin while
                        }                                       //fin try
                        catch (Exception ex)
                        {
                            this.miVistaAplicacion.output("Ha introducido un valor invalido o el indice de la finca esta vacio.");
                        }    //fin catch
                        break;

                    case 3:    //Registrar Empleado.//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                        try
                        {
                            //bucle para preguntar si desea registrar empleados o desea salir al menu principal
                            do
                            {
                                this.intOpcionEmpleado = this.miVistaAplicacion.inputInt("1. Desea continuar registrando empleados." +
                                                                                         "\n2. Salir al menu principal.");

                                switch (this.intOpcionEmpleado)
                                {
                                case 1:
                                    //contador para tope de 10 objetos empleado
                                    if (this.intContadorEmpleado < 10)
                                    {
                                        //verificar si existe o no la identificacion del empleado
                                        if (this.miControladorEmpleado.VerificarIdentificacion(this.intIdentificacionEmpleado = this.miVistaAplicacion.inputInt("Digite la identificacion del empleado:")) == -1)
                                        {
                                            //llenar ObjetoEmpleado
                                            this.miObjetoEmpleado = this.miControladorEmpleado.GetObjetoEmpleado(this.intIdentificacionEmpleado,
                                                                                                                 this.miVistaAplicacion.input("Digite el nombre del empleado:"),
                                                                                                                 this.miVistaAplicacion.input("Digite el primer apellido del empleado:"),
                                                                                                                 this.miVistaAplicacion.input("Digite el segundo apellido del empleado:"),
                                                                                                                 this.miVistaAplicacion.inputDouble("Digite el salario del empleado:"));
                                            //verificar datos no vacios
                                            if (this.miObjetoEmpleado != null)
                                            {
                                                this.miVistaAplicacion.output(this.miControladorEmpleado.RegistrarEmpleado(this.intIndiceEmpleado, this.miObjetoEmpleado));
                                                this.intIndiceEmpleado++;
                                                this.intContadorEmpleado++;
                                            }        //fin if verificar datos no vacios
                                            else
                                            {
                                                this.miVistaAplicacion.output("Uno o varios datos digitados estan vacios. No se puede registrar.");
                                            }    //fin else verificar datos vacios
                                        }        //fin if verificar
                                        else
                                        {
                                            this.miVistaAplicacion.output("El numero de identificacion del empleado ya existe. Por favor digite otro.");
                                        }    //fin else verificar
                                    }        //fin if
                                    else
                                    {
                                        this.miVistaAplicacion.output("Ya registro el limite de empleados equivalente a 10.");
                                        this.menu();
                                    }
                                    break;

                                case 2:
                                    this.menu();
                                    break;

                                default:
                                    //mensaje opcion incorrecta
                                    this.miVistaAplicacion.output("Opcion fuera del rango.");
                                    break;
                                }                                  //fin switch
                            } while (this.intOpcionEmpleado != 2); //fin while
                        }                                          //fin try
                        catch (Exception ex)
                        {
                            this.miVistaAplicacion.output("Ha introducido un valor invalido.");
                        }    //fin catch
                        break;

                    case 4:    //Registrar Raza de Animales./////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                        try
                        {
                            //bucle para preguntar si desea registrar razas o desea salir al menu principal
                            do
                            {
                                this.intOpcionRaza = this.miVistaAplicacion.inputInt("1. Desea continuar registrando razas." +
                                                                                     "\n2. Salir al menu principal.");

                                switch (this.intOpcionRaza)
                                {
                                case 1:
                                    //contador para tope de 10 objetos finca
                                    if (this.intContadorRaza < 10)
                                    {
                                        //verificar si existe una raza registrada o no con el codigo
                                        if (this.miControladorRaza.VerificarCodigo(this.intCodigoRaza = this.miVistaAplicacion.inputInt("Digite el codigo de raza:")) == -1)
                                        {
                                            //llenar ObjetoRaza
                                            this.miObjetoRaza = this.miControladorRaza.GetObjetoRaza(this.intCodigoRaza,
                                                                                                     this.miVistaAplicacion.input("Digite la descripcion de la raza:"));
                                            //verificar datos no vacios
                                            if (this.miObjetoRaza != null)
                                            {
                                                //registrar raza
                                                this.miVistaAplicacion.output(this.miControladorRaza.RegistrarRaza(this.intIndiceRaza2, this.miObjetoRaza));
                                                this.intIndiceRaza2++;
                                                this.intContadorRaza++;
                                            }        //fin if datos no vacios
                                            else
                                            {
                                                this.miVistaAplicacion.output("Uno o varios datos digitados estan vacios. No se puede registrar.");
                                            }    //fin else datos vacios
                                        }        //fin if verificar
                                        else
                                        {
                                            this.miVistaAplicacion.output("Ya existe una raza registrada con ese codigo. Por favor digite otro.");
                                        }    //fin else verificar
                                    }        //fin if
                                    else
                                    {
                                        this.miVistaAplicacion.output("Ya registro el limite de razas equivalente a 10.");
                                        this.menu();
                                    }
                                    break;

                                case 2:
                                    this.menu();
                                    break;

                                default:
                                    //mensaje opcion incorrecta
                                    this.miVistaAplicacion.output("Opcion fuera del rango.");
                                    break;
                                }                              //fin switch
                            } while (this.intOpcionRaza != 2); //fin while
                        }                                      //fin try
                        catch (Exception ex)
                        {
                            this.miVistaAplicacion.output("Ha introducido un valor invalido.");
                        }    //fin catch
                        break;

                    case 5:    //Registrar Animales./////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                        try
                        {
                            //bucle para preguntar si desea registrar animales o salir al menu principal
                            do
                            {
                                this.intOpcionAnimal = this.miVistaAplicacion.inputInt("1. Desea continuar registrando animales." +
                                                                                       "\n2. Salir al menu principal.");

                                switch (this.intOpcionAnimal)
                                {
                                case 1:
                                    //contador para tope de 10 objetos finca
                                    if (this.intContadorAnimal < 10)
                                    {
                                        //verificar si existe o no un animal registrado con una identificacion digitada por el usuario
                                        if (this.miControladorAnimal.VerificarIdentificacion(this.intIdentificacionAnimal = this.miVistaAplicacion.inputInt("Digite la identificacion del animal:")) == -1)
                                        {
                                            //verificar si existen fincas y razas, si no hay alguno de los dos no se puede registrar animales
                                            if (this.miControladorFinca.GetArrayObjetosFinca().GetValue(0) != null && this.miControladorRaza.GetArrayObjetosRaza().GetValue(0) != null)
                                            {
                                                //verificar si usuario elije un indice correcto de 1 a 10 arreglo de fincas//verificar si usuario elije un indice correcto de 1 a 10 arreglo de razas//verificar si usuario elije un numero u opcion correcto de 1 o 2
                                                if (
                                                    this.VerificarIndice(this.intIndiceFinca = this.miVistaAplicacion.inputInt(this.miControladorFinca.MostrarFinca() + "\nDigite el indice de la finca del animal:")) == true
                                                    &&
                                                    this.VerificarIndice(this.intIndiceRaza = this.miVistaAplicacion.inputInt(this.miControladorRaza.MostrarRaza() + "\nDigite el indice de la raza del animal")) == true
                                                    &&
                                                    this.VerificarOpcion(this.intOpcionSexo = this.miVistaAplicacion.inputInt("Digite el sexo del animal:\n1. Macho.\n2. Hembra.")) == true)
                                                {
                                                    //verificar si los objetos en la posicion[indice digitado] en el arreglo no estan vacios
                                                    if (this.miControladorFinca.GetObjetoFinca(this.intIndiceFinca) != null && this.miControladorRaza.GetObjetoRaza(this.intIndiceRaza) != null)
                                                    {
                                                        //llenar ObjetoAnimal
                                                        this.miObjetoAnimal = this.miControladorAnimal.GetObjetoAnimal(this.intIdentificacionAnimal,
                                                                                                                       this.miControladorAnimal.GetSexoAnimal(this.intOpcionSexo),
                                                                                                                       this.miVistaAplicacion.input("Digite el nombre de la madre del animal:"),
                                                                                                                       this.miVistaAplicacion.input("Digite el nombre del padre del animal:"),
                                                                                                                       this.miVistaAplicacion.input("Digite el nombre del animal:"),
                                                                                                                       this.miVistaAplicacion.input("Digite la fecha de nacimiento del animal(dia,mes,ano):"),
                                                                                                                       this.miControladorFinca.GetObjetoFinca(this.intIndiceFinca),
                                                                                                                       this.miControladorRaza.GetObjetoRaza(this.intIndiceRaza));
                                                        //verificar datos ObjetoAnimal no esten vacios
                                                        if (this.miObjetoAnimal != null)
                                                        {
                                                            //registrar animal
                                                            this.miVistaAplicacion.output(this.miControladorAnimal.RegistrarAnimal(this.intIndiceAnimal, this.miObjetoAnimal));
                                                            this.intIndiceAnimal++;
                                                            this.intContadorAnimal++;
                                                        }        //fin if verificar datos no vacios
                                                        else
                                                        {
                                                            this.miVistaAplicacion.output("Uno o varios datos digitados estan vacios. No se puede registrar.");
                                                        }    //fin else verificar datos vacios
                                                    }        //fin if verificar objetos no vacios
                                                    else
                                                    {
                                                        this.miVistaAplicacion.output("Uno o ambos indices de finca o raza digitado esta vacio. Por favor digite otro.");
                                                    }    //fin else verificar uno o dos objetos vacios
                                                }        //fin if verificar sexo y objetos dentro de rango
                                                else
                                                {
                                                    this.miVistaAplicacion.output("Ha digitado un indice fuera de rango o una opcion que no es ni 1 ni 2.");
                                                }    //fin else verificar sexo y objetos dentro de rango
                                            }        //fin if verificar que objetos no esten vacios
                                            else
                                            {
                                                this.miVistaAplicacion.output("No hay fincas o razas registradas aun. Por favor dirigase a registrarlos");
                                            }    //fin else verificar objetos si estan vacios
                                        }        //fin if verificar
                                        else
                                        {
                                            this.miVistaAplicacion.output("Ya existe un animal registrado con esa identificacion. Por favor digite otra.");
                                        }    //fin else verificar
                                    }        //fin if contador animal
                                    else
                                    {
                                        this.miVistaAplicacion.output("Ya registro el limite de animales equivalente a 10.");
                                        this.menu();
                                    }        //fin else contador animal
                                    break;

                                case 2:
                                    this.menu();
                                    break;

                                default:
                                    //mensaje opcion incorrecta
                                    this.miVistaAplicacion.output("Opcion fuera del rango.");
                                    break;
                                }                                //fin switch
                            } while (this.intOpcionAnimal != 2); //fin while
                        }                                        //fin try
                        catch (Exception ex)
                        {
                            this.miVistaAplicacion.output("Ha introducido un valor invalido.");
                        }    //fin catch
                        break;

                    case 6:    //Mostrar los Registros.//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                        //mostrar informacion de los registros
                        this.miVistaAplicacion.output("****Lista de Registros****\n" +
                                                      "*****FINCAS*****" + this.miControladorFinca.MostrarFinca() + "\n" +
                                                      "*****DUENOS*****" + this.miControladorDueno.MostrarDueno() + "\n" +
                                                      "*****EMPLEADOS*****" + this.miControladorEmpleado.MostrarEmpleado() + "\n" +
                                                      "*****RAZAS*****" + this.miControladorRaza.MostrarRaza() + "\n" +
                                                      "*****ANIMALES*****" + this.miControladorAnimal.MostrarAnimal() + "\n" +
                                                      "****Fin Lista de Registros****\n");
                        break;

                    case 7:    //Salir de sistema.///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                        //preguntar si desea salir o no del sistema
                        this.intSalir = this.miVistaAplicacion.inputInt("¿Está realmente seguro de que desea salir?" +
                                                                        "\nSi = Digite 1 \nNo = Digite 2");
                        if (this.intSalir == 1)
                        {
                            this.miVistaAplicacion.output("Gracias por utilizar nuestro programa");
                            System.Environment.Exit(0);
                        }
                        else
                        {
                            //volver al menu principal con datos cargados
                            this.menu();
                        }
                        break;

                    default:
                        //mensaje opcion incorrecta
                        this.miVistaAplicacion.output("Opcion fuera del rango.");
                        break;
                    } //fin switch
                }     //fin try
                catch (Exception ex)
                {
                    this.miVistaAplicacion.output("Ha introducido un valor invalido.");
                } //fin catch
            } while (this.intOpcion != 7);//fin do while
        }         //fin menu