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); }
public QueimaControladaQueimaVM(QueimaControladaQueima caracterizacao, List <Lista> tipoCultivo, bool isVisualizar = false) { Caracterizacao = caracterizacao; IsVisualizar = isVisualizar; TipoCultivo = ViewModelHelper.CriarSelectList(tipoCultivo, true, true); }