public CadastroAmbientalRural Obter(int id, string tid = null, bool simplificado = false, BancoDeDados banco = null) { CadastroAmbientalRural caracterizacao = null; try { if (string.IsNullOrEmpty(tid)) { caracterizacao = _da.Obter(id, banco, simplificado); } else { caracterizacao = _da.ObterHistorico(id, banco, tid, simplificado); } caracterizacao.SituacaoProcessamento = ObterSituacaoProcessamento(caracterizacao.EmpreendimentoId); caracterizacao.Dependencias = _caracterizacaoBus.ObterDependencias(caracterizacao.Id, eCaracterizacao.CadastroAmbientalRural, eCaracterizacaoDependenciaTipo.Caracterizacao); caracterizacao.PercentMaximaRecuperacaoAPP = CalcularPorcentagemMaximaModuloFiscal(caracterizacao.ATPQuantidadeModuloFiscal); } catch (Exception exc) { Validacao.AddErro(exc); } return(caracterizacao); }
public CadastroAmbientalRural ObterAreasGeo(CadastroAmbientalRural car) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { car.Areas = _da.ObterAreasGeo(car.EmpreendimentoId, bancoDeDados); car.PercentMaximaRecuperacaoAPP = CalcularPorcentagemMaximaModuloFiscal(car.ATPQuantidadeModuloFiscal); if (car.Id > 0) { car.Areas.RemoveAll(x => x.Tipo == (int)eCadastroAmbientalRuralArea.APP_USO); car.Areas.AddRange(ObterAreasProcessadas(car.ProjetoGeoId, car.PercentMaximaRecuperacaoAPP)); CadastroAmbientalRural aux = _da.Obter(car.Id, bancoDeDados, finalizado: true); foreach (var item in car.Areas) { Area area = aux.Areas.SingleOrDefault(x => x.Tipo == item.Tipo); if (area != null) { item.Id = area.Id; } } } } return(car); }
public CadastroAmbientalRural ObterTela(int empreendimentoID) { CadastroAmbientalRural caracterizacao = null; try { if (_da.IsTemporario(empreendimentoID)) { caracterizacao = ObterPorEmpreendimento(empreendimentoID, finalizado: false, simplificado: true); caracterizacao.Areas = ObterAreasGeo(caracterizacao).Areas; CarregarAreasReservaLegalCompensacao(caracterizacao); } else { caracterizacao = ObterPorEmpreendimento(empreendimentoID, finalizado: true); if (caracterizacao.Situacao.Id != (int)eCadastroAmbientalRuralSituacao.Finalizado) { caracterizacao.EmpreendimentoId = empreendimentoID; caracterizacao.Areas = ObterAreasGeo(caracterizacao).Areas; CarregarAreasReservaLegalCompensacao(caracterizacao); } } } catch (Exception exc) { Validacao.AddErro(exc); } return(caracterizacao); }
public bool SalvarTemporaria(CadastroAmbientalRural caracterizacao, BancoDeDados banco = null) { try { if (_validar.Salvar(caracterizacao)) { caracterizacao.Situacao.Id = (int)eCadastroAmbientalRuralSituacao.EmElaboracao; GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { bancoDeDados.IniciarTransacao(); _da.SalvarTemporaria(caracterizacao, bancoDeDados); /*_caracterizacaoBus.Dependencias(new Caracterizacao() * { * Id = caracterizacao.Id, * Tipo = eCaracterizacao.CadastroAmbientalRural, * DependenteTipo = eCaracterizacaoDependenciaTipo.Caracterizacao, * Dependencias = caracterizacao.Dependencias * }, bancoDeDados);*/ bancoDeDados.Commit(); } } } catch (Exception e) { Validacao.AddErro(e); } return(Validacao.EhValido); }
public ActionResult Finalizar(CadastroAmbientalRural caracterizacao) { if (!_bus.Validar.Acessar(caracterizacao.EmpreendimentoId)) { return(RedirectToAction("", "Caracterizacao", new { id = caracterizacao.EmpreendimentoId, Msg = Validacao.QueryParam() })); } string textoMerge = _caracterizacaoBus.Validar.DependenciasAlteradas( caracterizacao.EmpreendimentoId, (int)eCaracterizacao.CadastroAmbientalRural, eCaracterizacaoDependenciaTipo.Caracterizacao, caracterizacao.Dependencias); if (!string.IsNullOrEmpty(textoMerge)) { return(Json(new { @TextoMerge = textoMerge }, JsonRequestBehavior.AllowGet)); } _bus.Finalizar(caracterizacao); return(Json(new { EhValido = Validacao.EhValido, Msg = Validacao.Erros, UrlRedirecionar = Url.Action("", "Caracterizacao", new { id = caracterizacao.EmpreendimentoId, Msg = Validacao.QueryParam() }) }, JsonRequestBehavior.AllowGet)); }
public CadastroAmbientalRuralVM(CadastroAmbientalRural caracterizacao, List <Municipio> municipiosLista, List <Lista> booleanLista, bool isVisualizar = false) { IsVisualizar = isVisualizar; Caracterizacao = caracterizacao; ListaMunicipios = ViewModelHelper.CriarSelectList(municipiosLista, true, selecionado: caracterizacao.MunicipioId.ToString()); ListaBoolean = ViewModelHelper.CriarSelectList(booleanLista, true, false, selecionado: caracterizacao.OcorreuAlteracaoApos2008.ToString()); }
public List <Area> ObterAreasProcessadas(int idProjeto, decimal percMaxRecuperar) { CadastroAmbientalRural car = new CadastroAmbientalRural(); try { car.Areas = _da.ObterAreasProcessadas(idProjeto); Area areaUsoConsolidade = new Area(); areaUsoConsolidade.Tipo = (int)eCadastroAmbientalRuralArea.AREA_USO_ALTERNATIVO; areaUsoConsolidade.Valor = car.ObterArea(eCadastroAmbientalRuralArea.AA_USO).Valor - car.ObterArea(eCadastroAmbientalRuralArea.APP_RECUPERAR_CALCULADO).Valor; car.Areas.Add(areaUsoConsolidade); Area appEfetiva = new Area(); appEfetiva.Tipo = (int)eCadastroAmbientalRuralArea.APP_RECUPERAR_EFETIVA; decimal geoAtp = car.ObterArea(eCadastroAmbientalRuralArea.CALC_GEO_ATP).Valor; decimal percRecuperar = ( car.ObterArea(eCadastroAmbientalRuralArea.CALC_APP_AVN).Valor + car.ObterArea(eCadastroAmbientalRuralArea.CALC_APP_AA_REC).Valor + car.ObterArea(eCadastroAmbientalRuralArea.APP_RECUPERAR_CALCULADO).Valor) / geoAtp; if (percMaxRecuperar > 0 && percRecuperar >= percMaxRecuperar) { var soma = (car.ObterArea(eCadastroAmbientalRuralArea.CALC_APP_AVN).Valor + car.ObterArea(eCadastroAmbientalRuralArea.CALC_APP_AA_REC).Valor); if ((soma / geoAtp) >= percMaxRecuperar) { appEfetiva.Valor = 0; } else { appEfetiva.Valor = car.ObterArea(eCadastroAmbientalRuralArea.CALC_GEO_ATP).Valor * 0.1m; // 10% appEfetiva.Valor = appEfetiva.Valor - soma; } } else { appEfetiva.Valor = car.ObterArea(eCadastroAmbientalRuralArea.APP_RECUPERAR_CALCULADO).Valor; } car.Areas.Add(appEfetiva); Area appUsoConsolidade = new Area(); appUsoConsolidade.Tipo = (int)eCadastroAmbientalRuralArea.APP_USO_CONSOLIDADO; appUsoConsolidade.Valor = car.ObterArea(eCadastroAmbientalRuralArea.APP_USO).Valor - car.ObterArea(eCadastroAmbientalRuralArea.APP_RECUPERAR_EFETIVA).Valor; car.Areas.Add(appUsoConsolidade); car.Areas.RemoveAll(x => x.Id == (int)eCadastroAmbientalRuralArea.CALC_GEO_ATP || x.Id == (int)eCadastroAmbientalRuralArea.CALC_APP_AVN || x.Id == (int)eCadastroAmbientalRuralArea.CALC_APP_AA_REC); } catch (Exception exc) { Validacao.AddErro(exc); } return(car.Areas); }
public CadastroAmbientalRural MergiarGeo(CadastroAmbientalRural caracterizacaoAtual) { caracterizacaoAtual = ObterAreasGeo(caracterizacaoAtual); caracterizacaoAtual.Dependencias = _caracterizacaoBus.ObterDependenciasAtual(caracterizacaoAtual.EmpreendimentoId, eCaracterizacao.CadastroAmbientalRural, eCaracterizacaoDependenciaTipo.Caracterizacao); caracterizacaoAtual.SituacaoProcessamento = ObterSituacaoProcessamento(caracterizacaoAtual.EmpreendimentoId); CarregarAreasReservaLegalCompensacao(caracterizacaoAtual); return(caracterizacaoAtual); }
public ActionResult Cancelar(CadastroAmbientalRural caracterizacao) { _bus.Cancelar(caracterizacao); return(Json(new { @Situacao = caracterizacao.Situacao, @EhValido = Validacao.EhValido, @Msg = Validacao.Erros, }, JsonRequestBehavior.AllowGet)); }
public ActionResult Processar(CadastroAmbientalRural caracterizacao) { _bus.Processar(caracterizacao); return(Json(new { @arquivo = caracterizacao.Arquivo, @Caracterizacao = caracterizacao, @EhValido = Validacao.EhValido, @Msg = Validacao.Erros }, JsonRequestBehavior.AllowGet)); }
public ActionResult GeoMergiar(CadastroAmbientalRural car) { CadastroAmbientalRuralVM vm = new CadastroAmbientalRuralVM(_bus.MergiarGeo(car), _busLista.Municipios(ViewModelHelper.EstadoDefaultId()), _busLista.BooleanLista); return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros, @Html = ViewModelHelper.RenderPartialViewToString(ControllerContext, "CadastroAmbientalRural", vm), @Dependencias = ViewModelHelper.Json(vm.Caracterizacao.Dependencias) }, JsonRequestBehavior.AllowGet)); }
public ActionResult Criar(int id) { if (!_caracterizacaoBus.Validar.Basicas(id)) { return(RedirectToAction("Index", "../Empreendimento", Validacao.QueryParamSerializer())); } if (!_bus.Validar.Acessar(id)) { return(RedirectToAction("", "Caracterizacao", new { id = id, Msg = Validacao.QueryParam() })); } CadastroAmbientalRural caracterizacao = _bus.ObterTela(id); caracterizacao.Dependencias = _caracterizacaoBus.ObterDependenciasAtual(id, eCaracterizacao.CadastroAmbientalRural, eCaracterizacaoDependenciaTipo.Caracterizacao); if (caracterizacao.Id <= 0) { EmpreendimentoCaracterizacao empreendimento = _caracterizacaoBus.ObterEmpreendimentoSimplificado(id); caracterizacao.ModuloFiscalId = empreendimento.ModuloFiscalId; caracterizacao.ModuloFiscalHA = empreendimento.ModuloFiscalHA; caracterizacao.MunicipioId = empreendimento.MunicipioId; caracterizacao.EmpreendimentoId = id; caracterizacao.OcorreuAlteracaoApos2008 = -1; caracterizacao.VistoriaAprovacaoCAR = -1; } if (!_bus.Validar.VerificarMunicipioForaES(caracterizacao.MunicipioId, _busLista.Municipios(ViewModelHelper.EstadoDefaultId()))) { return(RedirectToAction("", "Caracterizacao", new { id = id, Msg = Validacao.QueryParam() })); } CadastroAmbientalRuralVM vm = new CadastroAmbientalRuralVM(caracterizacao, _busLista.Municipios(ViewModelHelper.EstadoDefaultId()), _busLista.BooleanLista); vm.Abrangencia = _bus.ObterAgrangencia(id); if (caracterizacao.SituacaoProcessamento.Id == (int)eProjetoGeograficoSituacaoProcessamento.ProcessadoPDF) { _bus.ObterArquivosProjeto(caracterizacao.ProjetoGeoId).ForEach(arquivo => { vm.ArquivosProcessamentoVM.Add(new ArquivoProcessamentoVM(arquivo, arquivo.Tipo, (int)eFilaTipoGeo.CAR)); }); } vm.AtualizarDependenciasModalTitulo = Mensagem.Caracterizacao.AtualizarDependenciasModalTitulo.Texto; _bus.Validar.AbrirAcessar(caracterizacao); vm.UrlsArquivo = ViewModelHelper.Json(ObterUrlsArquivo()); return(View(vm)); }
public void Cancelar(CadastroAmbientalRural caracterizacao) { try { if (_da.IsTemporario(caracterizacao.EmpreendimentoId)) { CancelarProcessamento(caracterizacao); return; } if (_validar.Cancelar(caracterizacao)) { caracterizacao.Situacao.Id = (int)eCadastroAmbientalRuralSituacao.EmElaboracao; caracterizacao.Arquivo.Etapa = (int)eFilaEtapaGeo.Processamento; caracterizacao.Arquivo.Situacao = (int)eFilaSituacaoGeo.Cancelado; caracterizacao.Arquivo.Tipo = (int)eFilaTipoGeo.CAR; caracterizacao.Arquivo.ProjetoId = caracterizacao.ProjetoGeoId; GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { bancoDeDados.IniciarTransacao(); _da.CriarTemporaria(caracterizacao, bancoDeDados); /*_caracterizacaoBus.Dependencias(new Caracterizacao() * { * Id = caracterizacao.Id, * Tipo = eCaracterizacao.CadastroAmbientalRural, * DependenteTipo = eCaracterizacaoDependenciaTipo.Caracterizacao, * Dependencias = caracterizacao.Dependencias * }, bancoDeDados);*/ _da.AlterarSituacaoFila(caracterizacao.Arquivo, bancoDeDados); Historico historico = new Historico(); historico.Gerar(caracterizacao.Id, eHistoricoArtefatoCaracterizacao.cadastroambientalrural, eHistoricoAcao.cancelar, bancoDeDados); caracterizacao.SituacaoProcessamento = _da.ObterSituacaoProcessamento(caracterizacao.EmpreendimentoId, bancoDeDados); bancoDeDados.Commit(); } } } catch (Exception exc) { Validacao.AddErro(exc); } }
public ActionResult Editar(int id) { if (!_caracterizacaoBus.Validar.Basicas(id)) { return(RedirectToAction("Index", "../Empreendimento", Validacao.QueryParamSerializer())); } if (!_bus.Validar.Acessar(id)) { return(RedirectToAction("", "Caracterizacao", new { id = id, Msg = Validacao.QueryParam() })); } CadastroAmbientalRural caracterizacao = _bus.ObterTela(id); string textoMerge = _caracterizacaoBus.Validar.DependenciasAlteradas( caracterizacao.EmpreendimentoId, (int)eCaracterizacao.CadastroAmbientalRural, eCaracterizacaoDependenciaTipo.Caracterizacao, caracterizacao.Dependencias); if (!string.IsNullOrEmpty(textoMerge)) { caracterizacao.Dependencias = _caracterizacaoBus.ObterDependenciasAtual(id, eCaracterizacao.CadastroAmbientalRural, eCaracterizacaoDependenciaTipo.Caracterizacao); } CadastroAmbientalRuralVM vm = new CadastroAmbientalRuralVM(caracterizacao, _busLista.Municipios(ViewModelHelper.EstadoDefaultId()), _busLista.BooleanLista); vm.Abrangencia = _bus.ObterAgrangencia(id); if (!_bus.Validar.VerificarMunicipioForaES(caracterizacao.MunicipioId, _busLista.Municipios(ViewModelHelper.EstadoDefaultId()))) { return(RedirectToAction("", "Caracterizacao", new { id = id, Msg = Validacao.QueryParam() })); } if (caracterizacao.SituacaoProcessamento.Id == (int)eProjetoGeograficoSituacaoProcessamento.ProcessadoPDF) { _bus.ObterArquivosProjeto(caracterizacao.ProjetoGeoId).ForEach(arquivo => { vm.ArquivosProcessamentoVM.Add(new ArquivoProcessamentoVM(arquivo, arquivo.Tipo, (int)eFilaTipoGeo.CAR)); }); } vm.TextoMerge = textoMerge; vm.AtualizarDependenciasModalTitulo = Mensagem.Caracterizacao.AtualizarDependenciasModalTitulo.Texto; _bus.Validar.AbrirAcessar(caracterizacao); vm.UrlsArquivo = ViewModelHelper.Json(ObterUrlsArquivo()); return(View(vm)); }
public bool AbrirAcessar(CadastroAmbientalRural caracterizacao) { Dominialidade dominialidade = new DominialidadeBus().ObterDadosGeo(caracterizacao.EmpreendimentoId); if (dominialidade.AreaAPPNaoCaracterizada.MaiorToleranciaM2()) { Validacao.Add(Mensagem.Caracterizacao.DominialidadeAreaAPPNaoCaracterizada(CaracterizacaoTipoTexto)); } if (dominialidade.ARLNaoCaracterizada.MaiorToleranciaM2()) { Validacao.Add(Mensagem.Caracterizacao.DominialidadeARLNaoCaracterizada(CaracterizacaoTipoTexto)); } return(Validacao.EhValido); }
private void CancelarProcessamento(CadastroAmbientalRural caracterizacao) { try { if (_validar.CancelarProcessamento(caracterizacao)) { caracterizacao.Arquivo.ProjetoId = caracterizacao.ProjetoGeoId; caracterizacao.Arquivo.Tipo = (int)eFilaTipoGeo.CAR; caracterizacao.Arquivo.Etapa = (int)eFilaEtapaGeo.Processamento; caracterizacao.Arquivo.Situacao = (int)eFilaSituacaoGeo.Cancelado; _da.AlterarSituacaoFila(caracterizacao.Arquivo); } } catch (Exception exc) { Validacao.AddErro(exc); } }
internal bool Salvar(CadastroAmbientalRural caracterizacao) { if (caracterizacao.EmpreendimentoId <= 0) { Validacao.Add(Mensagem.Caracterizacao.EmpreendimentoObrigatorio); return(false); } if (caracterizacao.Id <= 0 && (_da.ObterPorEmpreendimento(caracterizacao.EmpreendimentoId, true, false) ?? new CadastroAmbientalRural()).Id > 0) { Validacao.Add(Mensagem.Caracterizacao.EmpreendimentoCaracterizacaoJaCriada); return(false); } if (caracterizacao.MunicipioId <= 0) { Validacao.Add(Mensagem.CadastroAmbientalRural.MunicipioObrigatorio); } if (caracterizacao.ModuloFiscalId <= 0) { Validacao.Add(Mensagem.CadastroAmbientalRural.ModuloFiscalObrigatorio); } if (caracterizacao.OcorreuAlteracaoApos2008 < 0) { Validacao.Add(Mensagem.CadastroAmbientalRural.OcorreuAlteracaoApos2008Obrigatorio); } else if (caracterizacao.OcorreuAlteracaoApos2008 == 1 && caracterizacao.ATPDocumento2008.GetValueOrDefault() <= 0) { Validacao.Add(Mensagem.CadastroAmbientalRural.ATPDocumento2008Obrigatorio); } if (caracterizacao.ATPQuantidadeModuloFiscal < 0) { Validacao.Add(Mensagem.CadastroAmbientalRural.ATPQuantidadeModuloFiscalObrigatorio); } return(Validacao.EhValido); }
public void Finalizar(CadastroAmbientalRural caracterizacao) { try { if (_validar.Finalizar(caracterizacao)) { caracterizacao.Situacao.Id = (int)eCadastroAmbientalRuralSituacao.Finalizado; caracterizacao.Areas = caracterizacao.Areas.Where(area => area.Tipo > 0).ToList(); GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { bancoDeDados.IniciarTransacao(); _da.Finalizar(caracterizacao, bancoDeDados); //Gerencia as dependências da caracterização _caracterizacaoBus.Dependencias(new Caracterizacao() { Id = caracterizacao.Id, Tipo = eCaracterizacao.CadastroAmbientalRural, DependenteTipo = eCaracterizacaoDependenciaTipo.Caracterizacao, Dependencias = caracterizacao.Dependencias }, bancoDeDados); Validacao.Add(Mensagem.CadastroAmbientalRural.Finalizar); bancoDeDados.Commit(); } } } catch (Exception exc) { Validacao.AddErro(exc); } }
public void Processar(CadastroAmbientalRural caracterizacao) { try { if (_validar.Processar(caracterizacao)) { caracterizacao.Arquivo.Tipo = (int)eFilaTipoGeo.CAR; caracterizacao.Arquivo.Mecanismo = (int)eProjetoGeograficoMecanismo.ImportadorShapes; //Sempre caracterizacao.Arquivo.Etapa = (int)eFilaEtapaGeo.Processamento; caracterizacao.Arquivo.Situacao = (int)eFilaSituacaoGeo.Aguardando; GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { bancoDeDados.IniciarTransacao(); if (SalvarTemporaria(caracterizacao, bancoDeDados)) { caracterizacao.ProjetoGeoId = _da.Processar(caracterizacao, bancoDeDados); _da.ObterSituacaoProcessamento(caracterizacao.EmpreendimentoId, bancoDeDados); } else { bancoDeDados.Rollback(); return; } bancoDeDados.Commit(); } } } catch (Exception exc) { Validacao.AddErro(exc); } }
public CadastroAmbientalRuralPDF(CadastroAmbientalRural car) { ProjetoGeoId = car.ProjetoGeoId; DispensaARL = car.DispensaARL; Areas = car.Areas; TotalAPPCroquiPorc = car.PercentTotalAPP.ToStringTrunc(); TotalARLCroquiPorcSemAsterisco = car.PercentARLCroqui.ToStringTrunc(); APPPreservadaPorc = car.PercentTotalAPPPreservada.ToStringTrunc(); TotalARLPreservadaPorc = car.PercentARLPreservada.ToStringTrunc(); APPRecuperacaoPorc = car.PercentTotalAPPRecuperacao.ToStringTrunc(); TotalARLRecuperacaoPorc = car.PercentARLRecuperacao.ToStringTrunc(); APPEmUsoPorc = car.PercentTotalAPPUso.ToStringTrunc(); TotalARLRecuperarPorc = car.PercentARLRecuperar.ToStringTrunc(); TotalARLCompensadaPorc = (car.PercentARLCedenteEmRecuperacao + car.PercentARLCedentePreservada + car.PercentARLReceptoraEmRecuperacao + car.PercentARLReceptoraPreservada).ToStringTrunc(); APPRecuperarCalculadaPorc = car.PercentTotalAPPRecuperarCalculado.ToStringTrunc(); APPRecuperarEfetivaPorc = car.PercentTotalAPPRecuperarEfetiva.ToStringTrunc(); ARLEmpreendimentoiPorc = car.PercentARLEmpreendimento.ToStringTrunc(); ReservaLegalDeOutroCAR = car.ReservaLegalDeOutroCAR.GetValueOrDefault(); ReservaLegalEmOutroCAR = car.ReservaLegalEmOutroCAR.GetValueOrDefault(); EmpreendimentoCodigoNoCAR = car.CodigoEmpreendimentoReceptor; EmpreendimentoCodigoDoCAR = car.CodigoEmpreendimentoCedente; }
internal bool Finalizar(CadastroAmbientalRural caracterizacao) { if (!Salvar(caracterizacao)) { return(false); } if (!Acessar(caracterizacao.EmpreendimentoId)) { return(false); } if (!AbrirAcessar(caracterizacao)) { return(false); } /*if (_da.Obter(caracterizacao.Id, simplificado: true, finalizado: true).Id > 0) * { * Validacao.Add(Mensagem.CadastroAmbientalRural.JaFinalizado); * }*/ return(Validacao.EhValido); }
public void CarregarAreasReservaLegalCompensacao(CadastroAmbientalRural car) { try { _da.CarregarAreasReservaLegalCompensacao(car); decimal area = 0; #region TOTAL_ARL_CEDENTE area = car.Areas.Where(x => (new int[] { (int)eCadastroAmbientalRuralArea.ARL_CEDENTE_EM_RECUPERACAO, (int)eCadastroAmbientalRuralArea.ARL_CEDENTE_PRESERVADA, (int)eCadastroAmbientalRuralArea.ARL_CEDENTE_RECUPERAR, (int)eCadastroAmbientalRuralArea.ARL_CEDENTE_NAO_CARACTERIZADA }).Contains(x.Tipo)).Sum(x => x.Valor); car.Areas.Add(new Area() { Tipo = (int)eCadastroAmbientalRuralArea.TOTAL_ARL_CEDENTE, Valor = area }); #endregion #region TOTAL_ARL_RECEPTORA area = car.Areas.Where(x => (new int[] { (int)eCadastroAmbientalRuralArea.ARL_RECEPTORA_EM_RECUPERACAO, (int)eCadastroAmbientalRuralArea.ARL_RECEPTORA_PRESERVADA, (int)eCadastroAmbientalRuralArea.ARL_RECEPTORA_RECUPERAR, (int)eCadastroAmbientalRuralArea.ARL_RECEPTORA_NAO_CARACTERIZADA }).Contains(x.Tipo)).Sum(x => x.Valor); car.Areas.Add(new Area() { Tipo = (int)eCadastroAmbientalRuralArea.TOTAL_ARL_RECEPTORA, Valor = area }); #endregion #region ARL_COMPENSADA area = 0; area = car.Areas.Single(x => x.Tipo == (int)eCadastroAmbientalRuralArea.TOTAL_ARL_CEDENTE).Valor + car.Areas.Single(x => x.Tipo == (int)eCadastroAmbientalRuralArea.TOTAL_ARL_RECEPTORA).Valor; car.Areas.Add(new Area() { Tipo = (int)eCadastroAmbientalRuralArea.ARL_COMPENSADA, Valor = area }); #endregion #region ARL_EMPREENDIMENTO area = 0; area = car.Areas.Single(x => x.Tipo == (int)eCadastroAmbientalRuralArea.ARL_CROQUI).Valor + (car.Areas.SingleOrDefault(x => x.Tipo == (int)eCadastroAmbientalRuralArea.TOTAL_ARL_RECEPTORA) ?? new Area()).Valor; area = area - (car.Areas.SingleOrDefault(x => x.Tipo == (int)eCadastroAmbientalRuralArea.TOTAL_ARL_CEDENTE) ?? new Area()).Valor; car.Areas.Add(new Area() { Tipo = (int)eCadastroAmbientalRuralArea.ARL_EMPREENDIMENTO, Valor = area }); #region Preservada area = car.Areas.Single(x => x.Tipo == (int)eCadastroAmbientalRuralArea.ARL_PRESERVADA).Valor + (car.Areas.SingleOrDefault(x => x.Tipo == (int)eCadastroAmbientalRuralArea.ARL_RECEPTORA_PRESERVADA) ?? new Area()).Valor; area = area - (car.Areas.SingleOrDefault(x => x.Tipo == (int)eCadastroAmbientalRuralArea.ARL_CEDENTE_PRESERVADA) ?? new Area()).Valor; car.Areas.Single(x => x.Tipo == (int)eCadastroAmbientalRuralArea.ARL_PRESERVADA).Valor = area; #endregion #region Em recuperação area = car.Areas.Single(x => x.Tipo == (int)eCadastroAmbientalRuralArea.ARL_RECUPERACAO).Valor + (car.Areas.SingleOrDefault(x => x.Tipo == (int)eCadastroAmbientalRuralArea.ARL_RECEPTORA_EM_RECUPERACAO) ?? new Area()).Valor; area = area - (car.Areas.SingleOrDefault(x => x.Tipo == (int)eCadastroAmbientalRuralArea.ARL_CEDENTE_EM_RECUPERACAO) ?? new Area()).Valor; car.Areas.Single(x => x.Tipo == (int)eCadastroAmbientalRuralArea.ARL_RECUPERACAO).Valor = area; #endregion #region A Recuperar area = car.Areas.Single(x => x.Tipo == (int)eCadastroAmbientalRuralArea.ARL_RECUPERAR).Valor + (car.Areas.SingleOrDefault(x => x.Tipo == (int)eCadastroAmbientalRuralArea.ARL_RECEPTORA_RECUPERAR) ?? new Area()).Valor; area = area - (car.Areas.SingleOrDefault(x => x.Tipo == (int)eCadastroAmbientalRuralArea.ARL_CEDENTE_RECUPERAR) ?? new Area()).Valor; car.Areas.Single(x => x.Tipo == (int)eCadastroAmbientalRuralArea.ARL_RECUPERAR).Valor = area; #endregion #endregion } catch (Exception exc) { Validacao.AddErro(exc); } }
internal bool Cancelar(CadastroAmbientalRural caracterizacao) { return(Validacao.EhValido); }
internal bool Processar(CadastroAmbientalRural caracterizacao) { if (caracterizacao.VistoriaAprovacaoCAR < 0) { Validacao.Add(Mensagem.CadastroAmbientalRural.VistoriaAprovacaoCARObrigatorio); } if (caracterizacao.VistoriaAprovacaoCAR > 0) { ValidacoesGenericasBus.DataMensagem(caracterizacao.DataVistoriaAprovacao, "DataVistoriaAprovacao", "vistoria"); } if ((decimal.Round(caracterizacao.PercentARLEmpreendimento) < 20 && !caracterizacao.DispensaARL) && (caracterizacao.PercentARLEmpreendimento < 20 && !caracterizacao.ReservaLegalEmOutroCAR.GetValueOrDefault())) { Validacao.Add(Mensagem.CadastroAmbientalRural.DispensaARLNaoMarcado); } if (caracterizacao.DispensaARL && caracterizacao.ReservaLegalEmOutroCAR.GetValueOrDefault()) { Validacao.Add(Mensagem.CadastroAmbientalRural.DispensaARL_ReservaLegalEmOutroCAR); } if (caracterizacao.IsCedente) { if (caracterizacao.ObterArea(eCadastroAmbientalRuralArea.ARL_CEDENTE_RECUPERAR).Valor > 0) { Validacao.Add(Mensagem.CadastroAmbientalRural.CedenteNaoPodeCederRLEmUso); } if (caracterizacao.ObterArea(eCadastroAmbientalRuralArea.ARL_CEDENTE_NAO_CARACTERIZADA).Valor > 0) { Validacao.Add(Mensagem.CadastroAmbientalRural.NaoPodeCederRLNaoCaracterizada); } } if (caracterizacao.IsReceptor) { if (caracterizacao.ObterArea(eCadastroAmbientalRuralArea.ARL_RECEPTORA_RECUPERAR).Valor > 0) { Validacao.Add(Mensagem.CadastroAmbientalRural.ReceptorNaoPodeReceberRLEmUso); } if (caracterizacao.ObterArea(eCadastroAmbientalRuralArea.ARL_RECEPTORA_NAO_CARACTERIZADA).Valor > 0) { Validacao.Add(Mensagem.CadastroAmbientalRural.ReceptorNaoPodeReceberRLNaoCaracterizada); } } if (caracterizacao.ReservaLegalEmOutroCAR.GetValueOrDefault() && caracterizacao.EmpreendimentoReceptorId.GetValueOrDefault() <= 0) { Validacao.Add(Mensagem.CadastroAmbientalRural.EmpreendimentoReceptorObrigatorio); } if (caracterizacao.ReservaLegalDeOutroCAR.GetValueOrDefault() && caracterizacao.EmpreendimentoCedenteId.GetValueOrDefault() <= 0) { Validacao.Add(Mensagem.CadastroAmbientalRural.EmpreendimentoCedenteObrigatorio); } if (caracterizacao.EmpreendimentoCedenteId.GetValueOrDefault() > 0) { if (!_da.PossuiTCPFRLCConcluido(caracterizacao.EmpreendimentoCedenteId.GetValueOrDefault())) { Validacao.Add(Mensagem.CadastroAmbientalRural.CedenteNaoPossuiTCPFRLCConcluido); } } if (caracterizacao.EmpreendimentoReceptorId.GetValueOrDefault() > 0) { if (!_da.PossuiTCPFRLCConcluido(caracterizacao.EmpreendimentoReceptorId.GetValueOrDefault())) { Validacao.Add(Mensagem.CadastroAmbientalRural.CedenteNaoPossuiTCPFRLCConcluido); } } if (!_caracterizacaoBus.Validar.Basicas(caracterizacao.EmpreendimentoId)) { return(false); } if (!Acessar(caracterizacao.EmpreendimentoId)) { return(false); } if (!AbrirAcessar(caracterizacao)) { return(false); } return(Validacao.EhValido); }