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);
        }
示例#2
0
 public AgrotoxicoCulturaVM(AgrotoxicoCultura agrotoxicoCultura, List <ConfiguracaoVegetalItem> modalidadesAplicacoes, bool isVisualizar = false)
 {
     IsVisualizar          = isVisualizar;
     AgrotoxicoCultura     = agrotoxicoCultura;
     ModalidadesAplicacoes = modalidadesAplicacoes;
 }
示例#3
0
        public ActionResult VisualizarCultura(AgrotoxicoCultura agrotoxicoCultura)
        {
            AgrotoxicoCulturaVM vm = new AgrotoxicoCulturaVM(agrotoxicoCultura, _busModalidadeAplicacao.Listar(), true);

            return(PartialView("AgrotoxicoCulturaPartial", vm));
        }