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(); }
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); }