Exemple #1
0
        public QueimaControlada MergiarGeo(QueimaControlada caracterizacaoAtual)
        {
            QueimaControlada dadosGeo = ObterDadosGeo(caracterizacaoAtual.EmpreendimentoId);

            caracterizacaoAtual.Dependencias = _busCaracterizacao.ObterDependenciasAtual(caracterizacaoAtual.EmpreendimentoId, eCaracterizacao.QueimaControlada, eCaracterizacaoDependenciaTipo.Caracterizacao);

            foreach (QueimaControladaQueima queima in dadosGeo.QueimasControladas)
            {
                if (!caracterizacaoAtual.QueimasControladas.Exists(x => x.Identificacao == queima.Identificacao))
                {
                    caracterizacaoAtual.QueimasControladas.Add(queima);
                }
            }

            List <QueimaControladaQueima> queimasRemover = new List <QueimaControladaQueima>();

            foreach (QueimaControladaQueima queima in caracterizacaoAtual.QueimasControladas)
            {
                if (!dadosGeo.QueimasControladas.Exists(x => x.Identificacao == queima.Identificacao))
                {
                    queimasRemover.Add(queima);
                    continue;
                }
                else
                {
                    QueimaControladaQueima queimaAux = dadosGeo.QueimasControladas.SingleOrDefault(x => x.Identificacao == queima.Identificacao) ?? new QueimaControladaQueima();
                    queima.Identificacao = queimaAux.Identificacao;
                    queima.AreaCroqui    = queimaAux.AreaCroqui;
                }
            }

            foreach (QueimaControladaQueima queimaControlada in queimasRemover)
            {
                caracterizacaoAtual.QueimasControladas.Remove(queimaControlada);
            }

            return(caracterizacaoAtual);
        }
        internal QueimaControlada ObterDadosGeo(int empreendimento, BancoDeDados banco = null)
        {
            QueimaControlada caracterizacao = new QueimaControlada();

            caracterizacao.EmpreendimentoId = empreendimento;

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados Geo
                /*Verificar classificação com analista*/
                Comando comando = bancoDeDados.CriarComando(@"
					select a.atividade,
								   a.codigo             identificacao,
								   a.geometry.sdo_gtype geometria_tipo,
								   a.area_m2            area_croqui
							  from {1}geo_aativ       a,
								   {0}crt_projeto_geo         g,
								   {0}lov_caracterizacao_tipo lc
							 where a.atividade = lc.texto
							   and a.projeto = g.id
							   and lc.id = :caracterizacao
							   and g.empreendimento = :empreendimento
							   and g.caracterizacao = :caracterizacao
							union all
							select a.atividade,
								   a.codigo             identificacao,
								   a.geometry.sdo_gtype geometria_tipo,
								   null                 area_croqui
							  from {1}geo_lativ       a,
								   {0}crt_projeto_geo         g,
								   {0}lov_caracterizacao_tipo lc
							 where a.atividade = lc.texto
							   and a.projeto = g.id
							   and lc.id = :caracterizacao
							   and g.empreendimento = :empreendimento
							   and g.caracterizacao = :caracterizacao
							union all
							select a.atividade,
								   a.codigo             identificacao,
								   a.geometry.sdo_gtype geometria_tipo,
								   null                 area_croqui
							  from {1}geo_pativ       a,
								   {0}crt_projeto_geo         g,
								   {0}lov_caracterizacao_tipo lc
							 where a.atividade = lc.texto
							   and a.projeto = g.id
							   and lc.id = :caracterizacao
							   and g.empreendimento = :empreendimento
							   and g.caracterizacao = :caracterizacao
							union all
							select a.atividade,
								   a.codigo             identificacao,
								   a.geometry.sdo_gtype geometria_tipo,
								   a.area_m2            area_croqui
							  from {1}geo_aiativ      a,
								   {0}crt_projeto_geo         g,
								   {0}lov_caracterizacao_tipo lc
							 where a.atividade = lc.texto
							   and a.projeto = g.id
							   and lc.id = :caracterizacao
							   and g.empreendimento = :empreendimento
							   and g.caracterizacao = :caracterizacao"                            , EsquemaBanco, EsquemaBancoGeo);

                comando.AdicionarParametroEntrada("empreendimento", empreendimento, DbType.Int32);
                comando.AdicionarParametroEntrada("caracterizacao", (int)eCaracterizacao.QueimaControlada, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    QueimaControladaQueima queima = null;
                    while (reader.Read())
                    {
                        queima = new QueimaControladaQueima();
                        queima.Identificacao = reader["identificacao"].ToString();

                        queima.AreaCroqui = reader.GetValue <decimal>("area_croqui");

                        caracterizacao.QueimasControladas.Add(queima);
                    }

                    reader.Close();
                }

                #endregion
            }

            return(caracterizacao);
        }
        private QueimaControlada ObterHistorico(int id, BancoDeDados banco = null, string tid = null, bool simplificado = false)
        {
            QueimaControlada caracterizacao = new QueimaControlada();
            int hst = 0;

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Queima Controlada

                Comando comando = bancoDeDados.CriarComando(@"select c.id, c.empreendimento_id, c.tid 
				from {0}hst_crt_queima_contr c where c.queima_controlada_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.Tid = reader["tid"].ToString();
                    }

                    reader.Close();
                }

                #endregion

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

                #region Queimas Controladas

                comando = bancoDeDados.CriarComando(@"select c.id, c.queima_contr_queima_id, c.identificacao, c.area_croqui,
													c.area_requerida, c.tid from {0}hst_crt_queima_contr_queima c where c.id_hst = :id"                                                    , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    QueimaControladaQueima queima = null;

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

                        queima               = new QueimaControladaQueima();
                        queima.Id            = Convert.ToInt32(reader["queima_contr_queima_id"]);
                        queima.Tid           = reader["tid"].ToString();
                        queima.Identificacao = reader["identificacao"].ToString();
                        queima.AreaCroqui    = reader.GetValue <decimal>("area_croqui");
                        queima.AreaRequerida = reader["area_requerida"].ToString();

                        #region Cultivos

                        comando = bancoDeDados.CriarComando(@"select c.queima_tipo_cultivo_id, c.tipo_cultivo_id, c.tipo_cultivo_texto, 
															c.nome_finalidade, c.tid from {0}hst_crt_queima_contr_tipo_cult c 
															where c.id_hst = :id"                                                            , EsquemaBanco);

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

                        using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando))
                        {
                            Cultivo cultivo = null;

                            while (readerAux.Read())
                            {
                                cultivo                  = new Cultivo();
                                cultivo.Id               = Convert.ToInt32(readerAux["queima_tipo_cultivo_id"]);
                                cultivo.CultivoTipo      = Convert.ToInt32(readerAux["tipo_cultivo_id"]);
                                cultivo.CultivoTipoTexto = readerAux["tipo_cultivo_texto"].ToString();
                                cultivo.Tid              = readerAux["tid"].ToString();

                                if (readerAux["nome_finalidade"] != null && !Convert.IsDBNull(readerAux["nome_finalidade"]))
                                {
                                    cultivo.FinalidadeNome = readerAux["nome_finalidade"].ToString();
                                }

                                queima.Cultivos.Add(cultivo);
                            }

                            readerAux.Close();
                        }

                        #endregion

                        caracterizacao.QueimasControladas.Add(queima);
                    }

                    reader.Close();
                }

                #endregion
            }

            return(caracterizacao);
        }
Exemple #4
0
 public QueimaControladaQueimaVM(QueimaControladaQueima caracterizacao, List <Lista> tipoCultivo, bool isVisualizar = false)
 {
     Caracterizacao = caracterizacao;
     IsVisualizar   = isVisualizar;
     TipoCultivo    = ViewModelHelper.CriarSelectList(tipoCultivo, true, true);
 }