Пример #1
0
        public ExploracaoFlorestalExploracaoProdutoPDF(ExploracaoFlorestalProduto produto)
        {
            if (produto.ProdutoId == (int)eProduto.SemRendimento)
            {
                Nome          = produto.ProdutoTexto;
                Quantidade    = 0;
                UnidadeMedida = null;
                return;
            }

            String[] produtoTexto = produto.ProdutoTexto.Split(' ');
            Decimal  quantidade   = 0M;

            Decimal.TryParse(produto.Quantidade, out quantidade);

            Nome          = produtoTexto[0];
            UnidadeMedida = produtoTexto[1].Substring(1, produtoTexto[1].Length - 2);
            Quantidade    = quantidade;
        }
        private ExploracaoFlorestal ObterHistorico(int id, BancoDeDados banco = null, string tid = null, bool simplificado = false)
        {
            ExploracaoFlorestal caracterizacao = new ExploracaoFlorestal();
            int hst = 0;

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Exploração Florestal

                Comando comando = bancoDeDados.CriarComando(@"select c.id, c.empreendimento_id, c.finalidade, c.finalidade_outros, c.tid 
				from {0}hst_crt_exploracao_florestal c where c.exploracao_florestal_id = :id and c.tid = :tid"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", id, DbType.Int32);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, tid);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        hst = Convert.ToInt32(reader["id"]);

                        caracterizacao.Id = id;
                        caracterizacao.EmpreendimentoId      = Convert.ToInt32(reader["empreendimento_id"]);
                        caracterizacao.FinalidadeExploracao  = Convert.ToInt32(reader["finalidade"]);
                        caracterizacao.FinalidadeEspecificar = reader["finalidade_outros"].ToString();
                        caracterizacao.Tid = reader["tid"].ToString();
                    }

                    reader.Close();
                }

                #endregion

                if (caracterizacao.Id <= 0 || simplificado)
                {
                    return(caracterizacao);
                }

                #region Explorações

                comando = bancoDeDados.CriarComando(@"select c.id, c.exp_florestal_exploracao_id, c.identificacao, c.geometria_id, c.geometria_texto, c.area_croqui, c.area_requerida, 
				c.arvores_requeridas, c.classificacao_vegetacao_id, c.classificacao_vegetacao_texto, c.exploracao_tipo_id, c.exploracao_tipo_texto, c.quantidade_arvores, c.tid 
				from {0}hst_crt_exp_florest_exploracao c where c.id_hst = :id"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", hst, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    ExploracaoFlorestalExploracao exploracao = null;

                    while (reader.Read())
                    {
                        hst = Convert.ToInt32(reader["id"]);

                        exploracao                   = new ExploracaoFlorestalExploracao();
                        exploracao.Id                = Convert.ToInt32(reader["exp_florestal_exploracao_id"]);
                        exploracao.Tid               = reader["tid"].ToString();
                        exploracao.Identificacao     = reader["identificacao"].ToString();
                        exploracao.AreaCroqui        = reader.GetValue <decimal>("area_croqui");
                        exploracao.AreaRequerida     = reader.GetValue <decimal>("area_requerida");
                        exploracao.QuantidadeArvores = reader["quantidade_arvores"].ToString();
                        exploracao.ArvoresRequeridas = reader["arvores_requeridas"].ToString();

                        if (reader["geometria_id"] != null && !Convert.IsDBNull(reader["geometria_id"]))
                        {
                            exploracao.GeometriaTipoId    = Convert.ToInt32(reader["geometria_id"]);
                            exploracao.GeometriaTipoTexto = reader["geometria_texto"].ToString();
                        }

                        if (reader["classificacao_vegetacao_id"] != null && !Convert.IsDBNull(reader["classificacao_vegetacao_id"]))
                        {
                            exploracao.ClassificacaoVegetacaoId    = Convert.ToInt32(reader["classificacao_vegetacao_id"]);
                            exploracao.ClassificacaoVegetacaoTexto = reader["classificacao_vegetacao_texto"].ToString();
                        }

                        if (reader["exploracao_tipo_id"] != null && !Convert.IsDBNull(reader["exploracao_tipo_id"]))
                        {
                            exploracao.ExploracaoTipoId    = Convert.ToInt32(reader["exploracao_tipo_id"]);
                            exploracao.ExploracaoTipoTexto = reader["exploracao_tipo_texto"].ToString();
                        }

                        #region Produtos

                        comando = bancoDeDados.CriarComando(@"select c.exp_florestal_produto_id, c.produto_id, c.produto_texto, c.quantidade, c.tid 
						from {0}hst_crt_exp_florestal_produto c where c.id_hst = :id"                        , EsquemaBanco);

                        comando.AdicionarParametroEntrada("id", hst, DbType.Int32);

                        using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando))
                        {
                            ExploracaoFlorestalProduto produto = null;

                            while (readerAux.Read())
                            {
                                produto            = new ExploracaoFlorestalProduto();
                                produto.Id         = Convert.ToInt32(readerAux["exp_florestal_produto_id"]);
                                produto.Tid        = readerAux["tid"].ToString();
                                produto.Quantidade = readerAux["quantidade"].ToString();

                                if (reader["produto_id"] != null && !Convert.IsDBNull(readerAux["produto_id"]))
                                {
                                    produto.ProdutoId    = Convert.ToInt32(readerAux["produto_id"]);
                                    produto.ProdutoTexto = readerAux["produto_texto"].ToString();
                                }

                                exploracao.Produtos.Add(produto);
                            }

                            readerAux.Close();
                        }

                        #endregion

                        caracterizacao.Exploracoes.Add(exploracao);
                    }

                    reader.Close();
                }

                #endregion
            }

            return(caracterizacao);
        }