Exemple #1
0
        public void Seed()
        {
            if (
                _context.Comandos.Any()
                ||
                _context.SensorTemperaturaUmidade.Any()
                )
            {
                return; //DB has been seeded.
            }


            Comandos com1 = new Comandos
            {
                Id             = 1,
                NomeComponente = "LED Branco",
                Ligado         = 1,
                Desligado      = 2,
                Status         = 2
            };

            Comandos com2 = new Comandos
            {
                Id             = 2,
                NomeComponente = "LED Amarelo",
                Ligado         = 3,
                Desligado      = 4,
                Status         = 4
            };

            Comandos com3 = new Comandos
            {
                Id             = 3,
                NomeComponente = "LED Vermelho",
                Ligado         = 5,
                Desligado      = 6,
                Status         = 6
            };

            Comandos com4 = new Comandos
            {
                Id             = 4,
                NomeComponente = "Ventoinha",
                Ligado         = 7,
                Desligado      = 8,
                Status         = 8
            };

            Configuracoes conf = new Configuracoes()
            {
                Id = 1,
                temperaturaIniciar = 25,
                umidadeIniciar     = 10
            };

            _context.AddRange(com1, com2, com3, com4, conf);
            _context.SaveChanges();
        }
Exemple #2
0
        private InformacoesViewModel MostrarDadosSensor()
        {
            var info = _context.SensorTemperaturaUmidade.LastOrDefault();
            InformacoesViewModel viewModel = new InformacoesViewModel();

            try
            {
                viewModel.Id          = info.Id;
                viewModel.Temperatura = info.Temperatura + " °C";
                viewModel.Umidade     = info.Umidade + " %";
                viewModel.UmidadeSolo = info.UmidadeSolo + " %";

                viewModel.Status1 = _context.Comandos.FirstOrDefault(x => x.Id == 1).Status_Enum;

                viewModel.TemperaturaIniciarVentilacao  = _context.Configuracoes.FirstOrDefault().temperaturaIniciar.ToString() + " °C";
                viewModel.TemperaturaTerminarVentilacao = _context.Configuracoes.FirstOrDefault().temperaturaTerminar.ToString() + " °C";
                viewModel.UmidadeIniciarIrrigacao       = _context.Configuracoes.FirstOrDefault().umidadeIniciar.ToString() + " %";
                viewModel.UmidadeTerminarIrrigacao      = _context.Configuracoes.FirstOrDefault().umidadeTerminar.ToString() + " %";
                viewModel.TempoLigado    = _context.Configuracoes.FirstOrDefault().tempoLigado.ToString() + " s";
                viewModel.TempoDesligado = _context.Configuracoes.FirstOrDefault().tempoDesligado.ToString() + " s";


                //Confere os dados do sensor e verifica se precisa acionar algum componente:
                //Essa parte do código pode ser melhorada!!!
                var comparar = _context.Configuracoes.First();
                if (comparar.temperaturaIniciar <= int.Parse(info.Temperatura))
                {
                    MandaComando(4, "Ligado");
                }
                else if (comparar.temperaturaIniciar < int.Parse(info.Temperatura) &&
                         int.Parse(info.Temperatura) <= comparar.temperaturaTerminar)
                {
                    MandaComando(4, "Ligado");
                }
                else
                {
                    MandaComando(4, "Desligado");
                }

                if (comparar.umidadeIniciar <= int.Parse(info.UmidadeSolo))
                {
                    MandaComando(2, "Ligado");
                }
                else if (comparar.umidadeIniciar < int.Parse(info.UmidadeSolo) &&
                         int.Parse(info.UmidadeSolo) <= comparar.umidadeTerminar)
                {
                    MandaComando(2, "Ligado");
                }

                else
                {
                    MandaComando(2, "Desligado");
                }

                //Aqui ele confere se mantém ou não a iluminação ativada.
                var atualmente = DateTime.Now;

                //

                if (comparar.horarioInicial <= atualmente && atualmente <= comparar.horarioFinal)
                {
                    if (comparar.statusReferencia == true)
                    {
                        MandaComando(3, "Ligado");
                    }
                    else
                    {
                        MandaComando(3, "Desligado");
                    }
                }
                else
                {
                    if (comparar.statusReferencia == true)
                    {
                        comparar.statusReferencia = false;
                        comparar.horarioInicial   = DateTime.Now;
                        comparar.horarioFinal     = comparar.horarioInicial.AddSeconds(comparar.tempoDesligado);
                        _context.Configuracoes.Update(comparar);
                        _context.SaveChanges();
                    }
                    else
                    {
                        comparar.statusReferencia = true;
                        comparar.horarioInicial   = DateTime.Now;
                        comparar.horarioFinal     = comparar.horarioInicial.AddSeconds(comparar.tempoLigado);
                        _context.Configuracoes.Update(comparar);
                        _context.SaveChanges();
                    }
                }
            }

            catch (NullReferenceException)
            {
                viewModel.Id          = 0;
                viewModel.Temperatura = "Infelizmente, nenhuma informação foi encontrada no banco de dados.";
                viewModel.Umidade     = "Infelizmente, nenhuma informação foi encontrada no banco de dados.";
                viewModel.UmidadeSolo = "Infelizmente, nenhuma informação foi encontrada no banco de dados.";
            }

            return(viewModel);
        }