public async Task <IActionResult> Edit(int id, [Bind("Codigo,Nome,QtdDisponivel,UnidadeMedida")] Agrotoxico agrotoxico) { if (id != agrotoxico.Codigo) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(agrotoxico); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AgrotoxicoExists(agrotoxico.Codigo)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(agrotoxico)); }
public void CarregarMotivoAgrotoxicoDesativado(Agrotoxico agrotoxico) { try { foreach (var ingredienteAtivo in agrotoxico.IngredientesAtivos) { if (ingredienteAtivo.SituacaoId != (int)eIngredienteAtivoSituacao.Ativo) { agrotoxico.MotivoId = (int)eAgrotoxicoDesativadoMotivo.IngredienteAtivoDesativado; agrotoxico.MotivoTexto = _busLista.AgrotoxicoDesativadosMensagens.SingleOrDefault(x => x.Id == (int)eAgrotoxicoDesativadoMotivo.IngredienteAtivoDesativado).Texto; return; } } if (!agrotoxico.CadastroAtivo) { agrotoxico.MotivoId = (int)eAgrotoxicoDesativadoMotivo.AgrotoxicoDesativado; agrotoxico.MotivoTexto = _busLista.AgrotoxicoDesativadosMensagens.SingleOrDefault(x => x.Id == (int)eAgrotoxicoDesativadoMotivo.AgrotoxicoDesativado).Texto; } else { agrotoxico.MotivoId = null; agrotoxico.MotivoTexto = string.Empty; } } catch (Exception exc) { Validacao.AddErro(exc); } }
public bool Salvar(IEspecificidade especificidade) { CertificadoCadastroProdutoAgrotoxico esp = especificidade as CertificadoCadastroProdutoAgrotoxico; Destinatario(esp.Titulo.Protocolo.Id, esp.DestinatarioId, "Certificado_Destinatario"); if (esp.AgrotoxicoId <= 0) { Validacao.Add(Mensagem.CertificadoCadastroProdutoAgrotoxico.AgrotoxicoObrigatorio); } else { Agrotoxico agrotoxico = _daEspecificidade.ObterAgrotoxico(esp.AgrotoxicoId, simplificado: true); if (esp.AgrotoxicoTid != agrotoxico.Tid) { Validacao.Add(Mensagem.CertificadoCadastroProdutoAgrotoxico.AgrotoxicoDesatualizado); } else { if (!_daEspecificidade.ProcessoPossuiSEP(esp.ProtocoloReq.Id, agrotoxico.NumeroProcessoSep)) { Validacao.Add(Mensagem.CertificadoCadastroProdutoAgrotoxico.NumeroSEPAlterado); } if (!agrotoxico.CadastroAtivo) { Validacao.Add(Mensagem.CertificadoCadastroProdutoAgrotoxico.AgrotoxicoInativo); } } } return(Validacao.EhValido); }
internal Agrotoxico ObterAgrotoxicoPorProtocolo(int protocoloId, BancoDeDados banco = null) { Agrotoxico agrotoxico = null; using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Dados da Especificidade Comando comando = bancoDeDados.CriarComando(@"select t.id, t.nome_comercial, t.tid from tab_agrotoxico t where t.numero_processo_sep = (select numero_autuacao from tab_protocolo where id = :protocolo)" , EsquemaBanco); comando.AdicionarParametroEntrada("protocolo", protocoloId, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { agrotoxico = new Agrotoxico(); agrotoxico.Id = reader.GetValue <int>("id"); agrotoxico.NomeComercial = reader.GetValue <string>("nome_comercial"); agrotoxico.Tid = reader.GetValue <string>("tid"); } reader.Close(); } #endregion } return(agrotoxico); }
public ActionResult ObterDadosAgrotoxico(Protocolo protocolo) { CertificadoCadastroProdutoAgrotoxicoBus bus = new CertificadoCadastroProdutoAgrotoxicoBus(); Agrotoxico agrotoxico = bus.ObterAgrotoxico(protocolo.Id.GetValueOrDefault()); return(Json(new { @Agrotoxico = agrotoxico, }, JsonRequestBehavior.AllowGet)); }
public async Task <IActionResult> Create([Bind("Codigo,Nome,QtdDisponivel,UnidadeMedida")] Agrotoxico agrotoxico) { if (ModelState.IsValid) { _context.Add(agrotoxico); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(agrotoxico)); }
public ActionResult Editar(Agrotoxico agrotoxico) { _bus.Salvar(agrotoxico); return(Json(new { @Valido = Validacao.EhValido, @Erros = Validacao.Erros, @Url = Url.Action("Index", "Agrotoxico", new { Msg = Validacao.QueryParam() }) }, JsonRequestBehavior.AllowGet)); }
public AgrotoxicoVM(Agrotoxico agrotoxico, List <Lista> ingredienteAtivoUnidadesMedida, List <ConfiguracaoVegetalItem> classesUso, List <Lista> formasApresentacao, List <Lista> gruposQuimicos, List <Lista> periculosidadesAmbientais, List <Lista> classToxicologicas, bool isVisualizar = false) { IsVisualizar = isVisualizar; Agrotoxico = agrotoxico; ClassesUso = classesUso; IngredienteAtivoUnidadeMedidaLst = ViewModelHelper.CriarSelectList(ingredienteAtivoUnidadesMedida, true, true); FormasApresentacao = ViewModelHelper.CriarSelectList(formasApresentacao, true, true, agrotoxico.FormaApresentacao.Id.ToString()); GruposQuimicos = ViewModelHelper.CriarSelectList(gruposQuimicos, true, true); PericulosidadesAmbientais = ViewModelHelper.CriarSelectList(periculosidadesAmbientais, true, true, agrotoxico.PericulosidadeAmbiental.Id.ToString()); ClassToxicologicas = ViewModelHelper.CriarSelectList(classToxicologicas, true, true, agrotoxico.ClassificacaoToxicologica.Id.ToString()); }
public ActionResult ObterMensagemAgrotoxicoDesativado(Agrotoxico agrotoxico) { _bus.CarregarMotivoAgrotoxicoDesativado(agrotoxico); return(Json(new { @Valido = Validacao.EhValido, @Erros = Validacao.Erros, @MotivoId = agrotoxico.MotivoId, @MotivoTexto = agrotoxico.MotivoTexto, }, JsonRequestBehavior.AllowGet)); }
public ActionResult ExcluirConfirm(int id) { ConfirmarVM vm = new ConfirmarVM(); Agrotoxico agrotoxico = _bus.Obter(id); vm.Id = agrotoxico.Id; vm.Mensagem = Mensagem.Agrotoxico.MensagemExcluir(agrotoxico.NumeroCadastro.ToString()); vm.Titulo = "Excluir Agrotóxico"; return(PartialView("Confirmar", vm)); }
public Agrotoxico Obter(int id, BancoDeDados banco = null) { Agrotoxico agrotoxico = null; try { using (BancoDeDados bancoDedados = BancoDeDados.ObterInstancia(banco)) { agrotoxico = _da.Obter(id); agrotoxico.Bula = new ArquivoDa().Obter(agrotoxico.Bula.Id.Value, bancoDedados); } } catch (Exception exc) { Validacao.AddErro(exc); } return(agrotoxico); }
public AgrotoxicoPDF(Agrotoxico agrotoxico) { Numero = agrotoxico.NumeroCadastro.ToString(); NomeComercial = agrotoxico.NomeComercial; NumeroProcessoSEP = agrotoxico.NumeroProcessoSep.ToString(); TitularRegistro = new PessoaPDF() { NomeRazaoSocial = agrotoxico.TitularRegistro.NomeRazaoSocial, CPFCNPJ = agrotoxico.TitularRegistro.CPFCNPJ }; ClassificacaoToxicologica.Nome = agrotoxico.ClassificacaoToxicologica.Texto; Periculosidade.Nome = agrotoxico.PericulosidadeAmbiental.Texto; //Classes foreach (var item in agrotoxico.ClassesUso) { Classes.Add(new ConfiguracaoVegetalItemPDF() { Nome = item.Texto }); } //Ingredientes foreach (var item in agrotoxico.IngredientesAtivos) { Ingredientes.Add(new ConfiguracaoVegetalItemPDF() { Nome = item.Texto }); } //Culturas foreach (var item in agrotoxico.Culturas) { Culturas.Add(new AgrotoxicoCulturaPDF() { Nome = item.Cultura.Nome }); } }
public bool Salvar(Agrotoxico agrotoxico) { try { agrotoxico.IngredientesAtivos.ForEach(item => { if (item.UnidadeMedidaOutro != null) { item.UnidadeMedidaOutro = item.UnidadeMedidaOutro.DeixarApenasUmEspaco(); } }); if (_validar.Salvar(agrotoxico)) { if (!agrotoxico.PossuiCadastro) { if (agrotoxico.Id < 1) { agrotoxico.NumeroCadastro = _da.ObterSequenciaNumeroCadastro(); } else { agrotoxico.NumeroCadastro = _da.Obter(agrotoxico.Id, true).NumeroCadastro; } } GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { bancoDeDados.IniciarTransacao(); #region Arquivo Bula if (agrotoxico.Bula != null) { if (!string.IsNullOrWhiteSpace(agrotoxico.Bula.Nome)) { if (agrotoxico.Bula.Id != null && agrotoxico.Bula.Id == 0) { ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Interno); agrotoxico.Bula = _busArquivo.Copiar(agrotoxico.Bula); } if (agrotoxico.Bula.Id == 0) { ArquivoDa _arquivoDa = new ArquivoDa(); _arquivoDa.Salvar(agrotoxico.Bula, User.FuncionarioId, User.Name, User.Login, (int)eExecutorTipo.Interno, User.FuncionarioTid, bancoDeDados); } } else { agrotoxico.Bula.Id = null; } } else { agrotoxico.Bula = new Blocos.Arquivo.Arquivo(); } #endregion _da.Salvar(agrotoxico, bancoDeDados); bancoDeDados.Commit(); Validacao.Add(Mensagem.Agrotoxico.SalvoSucesso(agrotoxico.NumeroCadastro.ToString())); } } } catch (Exception exc) { Validacao.AddErro(exc); } return(Validacao.EhValido); }
internal bool Salvar(Agrotoxico agrotoxico) { if (agrotoxico.Id > 0) { if (!_da.Existe(agrotoxico.Id)) { Validacao.Add(Mensagem.Agrotoxico.AgrotoxicoInexistente); return(Validacao.EhValido); } } if (agrotoxico.PossuiCadastro) { if (agrotoxico.NumeroCadastro < 1) { Validacao.Add(Mensagem.Agrotoxico.NumeroCadastroObrigatorio); } else { GerenciadorConfiguracao <ConfiguracaoSistema> configSys = new GerenciadorConfiguracao <ConfiguracaoSistema>(new ConfiguracaoSistema()); if (agrotoxico.NumeroCadastro > Convert.ToInt32(configSys.Obter <String>(ConfiguracaoSistema.KeyAgrotoxicoMaxNumeroCadastro))) { Validacao.Add(Mensagem.Agrotoxico.NumeroCadastroSuperiorMaximo); } else if (_da.NumeroCadastroExiste(agrotoxico)) { Validacao.Add(Mensagem.Agrotoxico.NumeroCadastroExistente); } } } if (string.IsNullOrEmpty(agrotoxico.NomeComercial)) { Validacao.Add(Mensagem.Agrotoxico.NomeComercialObrigatorio); } if (agrotoxico.NumeroRegistroMinisterio <= 0) { Validacao.Add(Mensagem.Agrotoxico.NumeroRegistroObrigatorio); } if (agrotoxico.NumeroProcessoSep <= 0) { Validacao.Add(Mensagem.Agrotoxico.NumeroProcessoSepObrigatorio); } if (agrotoxico.TitularRegistro.Id <= 0) { Validacao.Add(Mensagem.Agrotoxico.TitularRegistroObrigatorio); } else { if (!_pessoaDa.ExistePessoa(agrotoxico.TitularRegistro.Id)) { Validacao.Add(Mensagem.Agrotoxico.PessoaNaoCadastrada(agrotoxico.TitularRegistro.NomeRazaoSocial)); } } if (agrotoxico.PericulosidadeAmbiental.Id <= 0) { Validacao.Add(Mensagem.Agrotoxico.PericulosidadeAmbientalObrigatorio); } if (agrotoxico.ClassificacaoToxicologica.Id <= 0) { Validacao.Add(Mensagem.Agrotoxico.ClassificacaoToxicologicaObrigatorio); } if (agrotoxico.FormaApresentacao.Id <= 0) { Validacao.Add(Mensagem.Agrotoxico.FormaApresentacaoObrigatorio); } if (_da.ProcessoSepEmOutroCadastro(agrotoxico)) { Validacao.Add(Mensagem.Agrotoxico.ProcessoSepEmOutroCadastro); } if (agrotoxico.ClassesUso.Count < 1) { Validacao.Add(Mensagem.Agrotoxico.ClasseUsoObrigatorio); } if (agrotoxico.GruposQuimicos.Count < 1) { Validacao.Add(Mensagem.Agrotoxico.GrupoQuimicoObrigatorio); } if (agrotoxico.IngredientesAtivos.Count < 1) { Validacao.Add(Mensagem.Agrotoxico.IngredienteAtivoObrigatorio); } else { IngredienteAtivoBus ingredienteAtivoBus = new IngredienteAtivoBus(); ingredienteAtivoBus.ObterValores(agrotoxico.IngredientesAtivos); agrotoxico.IngredientesAtivos.ForEach(ingrediente => { //if (ingrediente.Concentracao <= 0) //{ // Validacao.Add(Mensagem.Agrotoxico.ConcentracaoObrigatorio); //} //if (ingrediente.UnidadeMedidaId <= 0) //{ // Validacao.Add(Mensagem.Agrotoxico.UnidadeMedidaObrigatoria); //} //if (ingrediente.UnidadeMedidaId == (int)eAgrotoxicoIngredienteAtivoUnidadeMedida.Outros && string.IsNullOrEmpty(ingrediente.UnidadeMedidaOutro)) //{ // Validacao.Add(Mensagem.Agrotoxico.UnidadeMedidaOutroObrigatorio); //} if (ingrediente.SituacaoId == (int)eIngredienteAtivoSituacao.Inativo) { Validacao.Add(Mensagem.Agrotoxico.IngredienteAtivoInativo(ingrediente.Texto)); } }); } return(Validacao.EhValido); }
internal Agrotoxico ObterAgrotoxico(int id, bool simplificado = false, BancoDeDados banco = null) { Agrotoxico agrotoxico = new Agrotoxico(); using (BancoDeDados bancoDedados = BancoDeDados.ObterInstancia(banco)) { Comando comando = bancoDedados.CriarComando(@"select t.id, t.possui_cadastro, t.numero_cadastro, t.cadastro_ativo, t.motivo, t.nome_comercial, t.numero_registro_ministerio, t.numero_processo_sep, t.titular_registro, nvl(p.nome, p.razao_social) titular_registro_nome_razao, nvl(p.cpf, p.cnpj) titular_registro_cpf_cnpj, t.classificacao_toxicologica, c.texto class_toxicologica_texto, t.periculosidade_ambiental, pa.texto periculosidade_ambiental_texto, t.forma_apresentacao, t.observacao_interna, t.observacao_geral, t.arquivo, t.tid from tab_agrotoxico t, tab_pessoa p, tab_class_toxicologica c, tab_peric_ambiental pa where c.id = classificacao_toxicologica and p.id = t.titular_registro and pa.id = t.periculosidade_ambiental and t.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDedados.ExecutarReader(comando)) { while (reader.Read()) { agrotoxico.Id = id; agrotoxico.Bula.Id = reader.GetValue <int>("arquivo"); agrotoxico.CadastroAtivo = reader.GetValue <bool>("cadastro_ativo"); agrotoxico.ClassificacaoToxicologica.Id = reader.GetValue <int>("classificacao_toxicologica"); agrotoxico.ClassificacaoToxicologica.Texto = reader.GetValue <string>("class_toxicologica_texto"); agrotoxico.FormaApresentacao.Id = reader.GetValue <int>("forma_apresentacao"); agrotoxico.MotivoId = reader.GetValue <int?>("motivo"); agrotoxico.NomeComercial = reader.GetValue <string>("nome_comercial"); agrotoxico.NumeroCadastro = reader.GetValue <int>("numero_cadastro"); agrotoxico.NumeroRegistroMinisterio = reader.GetValue <long>("numero_registro_ministerio"); agrotoxico.NumeroProcessoSep = reader.GetValue <long>("numero_processo_sep"); agrotoxico.ObservacaoGeral = reader.GetValue <string>("observacao_geral"); agrotoxico.ObservacaoInterna = reader.GetValue <string>("observacao_interna"); agrotoxico.PericulosidadeAmbiental.Id = reader.GetValue <int>("periculosidade_ambiental"); agrotoxico.PericulosidadeAmbiental.Texto = reader.GetValue <string>("periculosidade_ambiental_texto"); agrotoxico.PossuiCadastro = reader.GetValue <bool>("possui_cadastro"); agrotoxico.Tid = reader.GetValue <string>("tid"); agrotoxico.TitularRegistro.Id = reader.GetValue <int>("titular_registro"); agrotoxico.TitularRegistro.NomeRazaoSocial = reader.GetValue <string>("titular_registro_nome_razao"); agrotoxico.TitularRegistro.CPFCNPJ = reader.GetValue <string>("titular_registro_cpf_cnpj"); } reader.Close(); } if (simplificado) { return(agrotoxico); } #region Classes de Uso comando = bancoDedados.CriarComando(@"select t.id, t.agrotoxico, t.classe_uso, c.texto classe_uso_texto, t.tid from tab_agrotoxico_classe_uso t, tab_classe_uso c where t.classe_uso = c.id and t.agrotoxico =:agrotoxico", EsquemaBanco); comando.AdicionarParametroEntrada("agrotoxico", id, DbType.Int32); using (IDataReader reader = bancoDedados.ExecutarReader(comando)) { ConfiguracaoVegetalItem classeUso = null; while (reader.Read()) { classeUso = new ConfiguracaoVegetalItem(); classeUso.IdRelacionamento = reader.GetValue <int>("id"); classeUso.Id = reader.GetValue <int>("classe_uso"); classeUso.Texto = reader.GetValue <string>("classe_uso_texto"); classeUso.Tid = reader.GetValue <string>("tid"); agrotoxico.ClassesUso.Add(classeUso); } reader.Close(); } #endregion #region Ingredientes Ativos comando = bancoDedados.CriarComando(@"select t.id, t.agrotoxico, t.ingrediente_ativo, i.texto ingrediente_ativo_texto, i.situacao, t.concentracao, t.tid from tab_agrotoxico_ing_ativo t, tab_ingrediente_ativo i where t.ingrediente_ativo = i.id and t.agrotoxico = :agrotoxico", EsquemaBanco); comando.AdicionarParametroEntrada("agrotoxico", id, DbType.Int32); using (IDataReader reader = bancoDedados.ExecutarReader(comando)) { ConfiguracaoVegetalItem ingrediente = null; while (reader.Read()) { ingrediente = new ConfiguracaoVegetalItem(); ingrediente.IdRelacionamento = reader.GetValue <int>("id"); ingrediente.Id = reader.GetValue <int>("ingrediente_ativo"); ingrediente.Texto = reader.GetValue <string>("ingrediente_ativo_texto"); ingrediente.SituacaoId = reader.GetValue <int>("situacao"); ingrediente.Tid = reader.GetValue <string>("tid"); ingrediente.Concentracao = reader.GetValue <decimal>("concentracao"); agrotoxico.IngredientesAtivos.Add(ingrediente); } reader.Close(); } #endregion #region Grupos químicos comando = bancoDedados.CriarComando(@"select t.id, t.agrotoxico, t.grupo_quimico, g.texto grupo_quimico_texto, t.tid from tab_agrotoxico_grupo_quimico t, tab_grupo_quimico g where t.grupo_quimico = g.id and t.agrotoxico = :agrotoxico", EsquemaBanco); comando.AdicionarParametroEntrada("agrotoxico", id, DbType.Int32); using (IDataReader reader = bancoDedados.ExecutarReader(comando)) { ConfiguracaoVegetalItem grupo = null; while (reader.Read()) { grupo = new ConfiguracaoVegetalItem(); grupo.IdRelacionamento = reader.GetValue <int>("id"); grupo.Id = reader.GetValue <int>("grupo_quimico"); grupo.Texto = reader.GetValue <string>("grupo_quimico_texto"); grupo.Tid = reader.GetValue <string>("tid"); agrotoxico.GruposQuimicos.Add(grupo); } reader.Close(); } #endregion #region Culturas comando = bancoDedados.CriarComando(@"select t.id, t.agrotoxico, t.cultura, c.texto cultura_texto, t.intervalo_seguranca, t.tid from tab_agrotoxico_cultura t, tab_cultura c where t.cultura = c.id and t.agrotoxico = :agrotoxico" , EsquemaBanco); comando.AdicionarParametroEntrada("agrotoxico", id, DbType.Int32); using (IDataReader reader = bancoDedados.ExecutarReader(comando)) { AgrotoxicoCultura cultura = null; while (reader.Read()) { cultura = new AgrotoxicoCultura(); cultura.IdRelacionamento = reader.GetValue <int>("id"); cultura.Cultura.Id = reader.GetValue <int>("cultura"); cultura.Cultura.Nome = reader.GetValue <string>("cultura_texto"); cultura.IntervaloSeguranca = reader.GetValue <string>("intervalo_seguranca"); cultura.Tid = reader.GetValue <string>("tid"); agrotoxico.Culturas.Add(cultura); } reader.Close(); } #endregion #region Pragas das culturas comando = bancoDedados.CriarComando(@"select t.id, t.agrotoxico_cultura, t.praga, p.nome_cientifico, p.nome_comum, t.tid from tab_agrotoxico_cultura_praga t, tab_praga p ", EsquemaBanco); comando.DbCommand.CommandText += String.Format(" where t.praga = p.id {0}", comando.AdicionarIn("and", "t.agrotoxico_cultura", DbType.Int32, agrotoxico.Culturas.Select(x => x.IdRelacionamento).ToList())); using (IDataReader reader = bancoDedados.ExecutarReader(comando)) { Praga praga = null; while (reader.Read()) { praga = new Praga(); praga.IdRelacionamento = reader.GetValue <int>("id"); praga.Id = reader.GetValue <int>("praga"); praga.NomeCientifico = reader.GetValue <string>("nome_cientifico"); praga.NomeComum = reader.GetValue <string>("nome_comum"); praga.Tid = reader.GetValue <string>("tid"); if (agrotoxico.Culturas != null && agrotoxico.Culturas.Count > 0) { agrotoxico.Culturas.Single(x => x.IdRelacionamento == reader.GetValue <int>("agrotoxico_cultura")).Pragas.Add(praga); } } reader.Close(); } #endregion #region Modalidades de aplicacao das culturas comando = bancoDedados.CriarComando(@"select t.id, t.agrotoxico_cultura, t.modalidade_aplicacao, m.texto modalidade_texto, t.tid from tab_agro_cult_moda_aplicacao t, tab_modalidade_aplicacao m ", EsquemaBanco); comando.DbCommand.CommandText += String.Format(" where t.modalidade_aplicacao = m.id {0}", comando.AdicionarIn("and", "t.agrotoxico_cultura", DbType.Int32, agrotoxico.Culturas.Select(x => x.IdRelacionamento).ToList())); using (IDataReader reader = bancoDedados.ExecutarReader(comando)) { ConfiguracaoVegetalItem modalidade = null; while (reader.Read()) { modalidade = new ConfiguracaoVegetalItem(); modalidade.Id = reader.GetValue <int>("modalidade_aplicacao"); modalidade.IdRelacionamento = reader.GetValue <int>("id"); modalidade.Texto = reader.GetValue <string>("modalidade_texto"); if (agrotoxico.Culturas != null && agrotoxico.Culturas.Count > 0) { agrotoxico.Culturas.Single(x => x.IdRelacionamento == reader.GetValue <int>("agrotoxico_cultura")).ModalidadesAplicacao.Add(modalidade); } } reader.Close(); } #endregion } return(agrotoxico); }