示例#1
0
        public List <Seccion> ejecutarDomo(int probabilidadTornado, bool estadoDomo, RepositorioCultivo Datos, List <Seccion> Secciones)
        {
            if ((probabilidadTornado >= 80) && estadoDomo == false)
            {
                Console.WriteLine("Ejecutando Domo");

                Seccion Cereales = Secciones.FirstOrDefault(s => s.Tipo == "Cereales") as Seccion;
                Cereales.enDomo = true;

                Seccion Hortalizas = Secciones.FirstOrDefault(s => s.Tipo == "Hortalizas") as Seccion;
                Hortalizas.enDomo = true;

                Seccion Frutales = Secciones.FirstOrDefault(s => s.Tipo == "Frutales") as Seccion;
                Frutales.enDomo = true;

                Seccion Ornamentales = Secciones.FirstOrDefault(s => s.Tipo == "Ornamentales") as Seccion;
                Ornamentales.enDomo = true;

                estadoDomo = true;
                //Seccion todasSecciones = Secciones.Where(s=> s.enDomo = false) as Seccion ;
                //todasSecciones.enDomo = true;     Intenté hacerlo de esta manera pero no pude
            }
            else
            {
                Console.WriteLine("La probabilidad no es adecuada para usar el domo");
            }
            return(Secciones);
        }
示例#2
0
        static void Main(string[] args)
        {
            RepositorioCultivo Datos     = new RepositorioCultivo();
            List <Seccion>     Secciones = Datos.Secciones;



            ProximoTornado objTornado = new ProximoTornado();
            Clima          objClima   = new Clima();

            objTornado.ejecutarDomo(90, false, Datos, Secciones);
            Seccion enDomo = Secciones.FirstOrDefault(s => s.enDomo = true) as Seccion;

            DisplayCultivos objDisplay = new DisplayCultivos();

            objDisplay.displayColor("Frutales", "Rojo", Datos, Secciones);

            objDisplay.tiempoMaduracionOrdenado("Cereales", Datos, Secciones);

            objDisplay.maxMantenimiento("Ornamentales", Datos, Secciones);

            objClima.MonitorearClima();    //Desea monitorear el clima?


            //Seccion frutales = Secciones.First(s=> s.Tipo =="Frutales") as Seccion ;
            //List<String> frutos = frutales.Cultivos.Select(c => c.Fruto).ToList();
            //Cultivo FrutoAmarillo = frutales.Cultivos.Last( c => c.Color == "Amarillo"); //Ultimo frutales Amarillo


            //Seccion Hortalizas = Secciones.FirstOrDefault(s=> s.Tipo =="Hortalizas") as Seccion ;
            //List<Cultivo> HortalizasNaranjas = Hortalizas.Cultivos.Where(c=> c.Color == "Naranja").ToList<Cultivo>();
        }
示例#3
0
        public int  maxMantenimiento(String seccionDeseada, RepositorioCultivo Datos, List <Seccion> Secciones)
        {
            Seccion s = Secciones.FirstOrDefault(s => s.Tipo == seccionDeseada) as Seccion;
            var     seccionMasDinero = s.Cultivos.Max(s => s.MantenimientoAlAno);

            return(seccionMasDinero);
        }
示例#4
0
 public void domoValidar(RepositorioCultivo Datos, List <Seccion> Secciones) //Para Sacar Los Cultivos
 {
     try{
         Seccion Hortalizas = Secciones.FirstOrDefault(s => s.Tipo == "Hortalizas") as Seccion;
         if (Hortalizas.enDomo == true)
         {
         }
         Seccion Cereales = Secciones.FirstOrDefault(s => s.Tipo == "Cereales") as Seccion;
         if (Cereales.enDomo == true)
         {
         }
         Seccion Frutales = Secciones.FirstOrDefault(s => s.Tipo == "Frutales") as Seccion;
         if (Frutales.enDomo == true)
         {
         }
         Seccion Oranamentales = Secciones.FirstOrDefault(s => s.Tipo == "Oranamentales") as Seccion;
         if (Oranamentales.enDomo == true)
         {
         }
         else
         {
             throw new Exception("Alguno de las secciones no esta en el domo");
         }
     }
     catch (Exception) {
         Console.WriteLine("Alguno de las secciones no esta en el domo");
     }
 }
        public void Seleccion(RepositorioCultivo Datos, List <Seccion> Secciones)
        {
            MenuUsuario         objUsu         = new MenuUsuario();
            ProximoTornado      objTornado     = new ProximoTornado();
            Clima               objClima       = new Clima();
            TemperaturaAmbiente objTemperatura = new TemperaturaAmbiente();
            TareasRobot         objRobot       = new TareasRobot();
            DisplayCultivos     objDisplay     = new DisplayCultivos();
            int choice;

            do
            {
                choice = objUsu.MenuPrincipal();

                switch (choice)
                {
                case 1:
                    Console.WriteLine("Nombre de la seccion que desea buscar");
                    string seccionDeseada = Console.ReadLine();
                    Console.WriteLine("Color a buscar");
                    string colorDeseado = Console.ReadLine();
                    objDisplay.displayColor(seccionDeseada, colorDeseado, Datos, Secciones);
                    break;

                case 2:
                    Console.WriteLine("Nombre de la seccion que desea buscar");
                    string seccionDeseada1 = Console.ReadLine();
                    objDisplay.tiempoMaduracionOrdenado(seccionDeseada1, Datos, Secciones);
                    Console.WriteLine();
                    break;

                case 3:
                    Console.WriteLine("Nombre de la seccion que desea buscar");
                    string seccionDeseada2 = Console.ReadLine();
                    objDisplay.maxMantenimiento(seccionDeseada2, Datos, Secciones);
                    Console.WriteLine();
                    break;

                case 4:
                    objClima.MonitorearClima();
                    Console.WriteLine();
                    break;

                case 5:
                    objTemperatura.MonitorearTemperatura();
                    Console.WriteLine();
                    break;

                case 6:
                    objTornado.ejecutarRobotEmergencia(Datos, Secciones);
                    Console.WriteLine();
                    break;

                case 7:
                    objTornado.ejecutarSacarDomo(Datos, Secciones);
                    break;
                }
            }while(choice != -1);
        }
示例#6
0
        static void Main(string[] args)
        {
            RepositorioCultivo Datos     = new RepositorioCultivo();
            List <Seccion>     Secciones = Datos.Secciones;

            MenuUsuario objUsu = new MenuUsuario();

            objUsu.Seleccion(Datos, Secciones);
        }
示例#7
0
        public void ejecutarSacarDomo(RepositorioCultivo Datos, List <Seccion> Secciones)
        {
            EmergenciaRobot objRobot = new EmergenciaRobot();
            int             temp;
            string          probFinal;

            Console.WriteLine("Ingrese la probabilidad del tonrnado para confirmar la accion");
            probFinal = Console.ReadLine();
            temp      = Convert.ToInt32(probFinal);
            objRobot.sacarDomo(temp, Datos, Secciones);
        }
示例#8
0
        public int  maxMantenimiento(String seccionDeseada, RepositorioCultivo Datos, List <Seccion> Secciones)
        {
            ValidarFormato objValidar = new ValidarFormato();

            objValidar.seccionValidar(seccionDeseada);
            Seccion s = Secciones.FirstOrDefault(s => s.Tipo == seccionDeseada) as Seccion;
            var     seccionMasMatenimiento = s.Cultivos.Max(s => s.MantenimientoAlAno);

            Console.WriteLine("El matenimiento más constante de la seccion " + seccionDeseada + " es: " + seccionMasMatenimiento);
            return(seccionMasMatenimiento);
        }
示例#9
0
        public List <Cultivo> tiempoMaduracionOrdenado(String seccionDeseada, RepositorioCultivo Datos, List <Seccion> Secciones)
        {
            ValidarFormato objValidar = new ValidarFormato();

            objValidar.seccionValidar(seccionDeseada);
            Seccion        s = Secciones.FirstOrDefault(s => s.Tipo == seccionDeseada) as Seccion;
            List <Cultivo> c = s.Cultivos.OrderBy(c => c.TiempoMaduracion).ToList <Cultivo>();

            Console.WriteLine("Los tiempos de maduracion en ORDEN de la seccion " + seccionDeseada + " son: ");
            c.ForEach(v => Console.Write(v.Fruto + "  ")); Console.WriteLine("   ");
            c.ForEach(v => Console.Write(v.TiempoMaduracion + "        ")); Console.WriteLine("   ");
            return(c);
        }
示例#10
0
        public List <Seccion> sacarDomo(int probabilidadTornado, RepositorioCultivo Datos, List <Seccion> Secciones)
        {
            if (probabilidadTornado < 80)
            {
                Seccion Cereales = Secciones.FirstOrDefault(s => s.Tipo == "Cereales") as Seccion;
                if (Cereales.enDomo == false)
                {
                    Console.WriteLine("Los cereales no estan en el domo para ser retirados");
                }
                else
                {
                    Cereales.enDomo = false;
                    Console.WriteLine("Sacando Cereales. Estado enDomo: " + Cereales.enDomo);
                }

                Seccion Hortalizas = Secciones.FirstOrDefault(s => s.Tipo == "Hortalizas") as Seccion;
                if (Hortalizas.enDomo == false)
                {
                    Console.WriteLine("Las Hortalizas no estan en el domo para ser retirados");
                }
                else
                {
                    Hortalizas.enDomo = false;
                    Console.WriteLine("Sacando Hortalizas. Estado enDomo: " + Hortalizas.enDomo);
                }

                Seccion Frutales = Secciones.FirstOrDefault(s => s.Tipo == "Frutales") as Seccion;
                if (Frutales.enDomo == false)
                {
                    Console.WriteLine("Las Frutales no estan en el domo para ser retirados");
                }
                else
                {
                    Frutales.enDomo = false;
                    Console.WriteLine("Sacando Frutales. Estado enDomo: " + Frutales.enDomo);
                }

                Seccion Ornamentales = Secciones.FirstOrDefault(s => s.Tipo == "Ornamentales") as Seccion;
                if (Ornamentales.enDomo == false)
                {
                    Console.WriteLine("Las Ornamentales no estan en el domo para ser retirados");
                }
                else
                {
                    Ornamentales.enDomo = false;
                    Console.WriteLine("Sacando Ornamentales. Estado enDomo: " + Ornamentales.enDomo);
                }
            }

            return(Secciones);
        }
 public List <Seccion> ejecutarDomo(int probabilidadTornado, bool estadoDomo, RepositorioCultivo Datos, List <Seccion> Secciones)
 {
     if ((probabilidadTornado >= 80) && estadoDomo == false)
     {
         Console.WriteLine("Ejecutando Domo");
         Seccion frutales = Secciones.First(s => s.Tipo == "Frutales") as Seccion;
         frutales.enDomo = true;
         estadoDomo      = true;
     }
     else
     {
         Console.WriteLine("La probabilidad no es adecuada para usar el domo");
     }
     return(Secciones);
 }
示例#12
0
        static void Main(string[] args)
        {
            RepositorioCultivo Datos     = new RepositorioCultivo();
            List <Seccion>     Secciones = Datos.Secciones;

            ProximoTornado objTornado = new ProximoTornado();

            objTornado.ejecutarDomo(90, false, Datos, Secciones);
            Seccion enDomo = Secciones.FirstOrDefault(s => s.enDomo = true) as Seccion;

            Seccion       frutales      = Secciones.First(s => s.Tipo == "Frutales") as Seccion;
            List <String> frutos        = frutales.Cultivos.Select(c => c.Fruto).ToList();
            Cultivo       FrutoAmarillo = frutales.Cultivos.Last(c => c.Color == "Amarillo"); //Ultimo frutales Amarillo



            Seccion        Hortalizas         = Secciones.FirstOrDefault(s => s.Tipo == "Hortalizas") as Seccion;
            List <Cultivo> HortalizasNaranjas = Hortalizas.Cultivos.Where(c => c.Color == "Naranja").ToList <Cultivo>();
        }
示例#13
0
        public List <Cultivo> displayColor(String seccionDeseada, String colorDeseado, RepositorioCultivo Datos, List <Seccion> Secciones)
        {
            Seccion        s = Secciones.FirstOrDefault(s => s.Tipo == seccionDeseada) as Seccion;
            List <Cultivo> c = s.Cultivos.Where(c => c.Color == colorDeseado).ToList <Cultivo>();

            return(c);
        }
示例#14
0
        public List <Cultivo> tiempoMaduracionOrdenado(String seccionDeseada, RepositorioCultivo Datos, List <Seccion> Secciones)
        {
            List <Cultivo> cultivosOrdenados = Secciones.FirstOrDefault(s => s.Tipo == seccionDeseada).Cultivos.OrderBy(c => c.TiempoMaduracion).ToList <Cultivo>();

            return(cultivosOrdenados);
        }
示例#15
0
        public List <Cultivo> displayColor(String seccionDeseada, String colorDeseado, RepositorioCultivo Datos, List <Seccion> Secciones)
        {
            ValidarFormato objValidar = new ValidarFormato();

            objValidar.seccionValidar(seccionDeseada);
            objValidar.colorValidar(colorDeseado);
            Seccion        s = Secciones.FirstOrDefault(s => s.Tipo == seccionDeseada) as Seccion;
            List <Cultivo> c = s.Cultivos.Where(c => c.Color == colorDeseado).ToList <Cultivo>();

            Console.WriteLine("Los frutos de color " + colorDeseado + " en la seccion " + seccionDeseada + " son: ");
            c.ForEach(v => Console.Write(v.Fruto + "   "));

            return(c);
        }