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); }
public AgrotoxicoCulturaVM(AgrotoxicoCultura agrotoxicoCultura, List <ConfiguracaoVegetalItem> modalidadesAplicacoes, bool isVisualizar = false) { IsVisualizar = isVisualizar; AgrotoxicoCultura = agrotoxicoCultura; ModalidadesAplicacoes = modalidadesAplicacoes; }
public ActionResult VisualizarCultura(AgrotoxicoCultura agrotoxicoCultura) { AgrotoxicoCulturaVM vm = new AgrotoxicoCulturaVM(agrotoxicoCultura, _busModalidadeAplicacao.Listar(), true); return(PartialView("AgrotoxicoCulturaPartial", vm)); }