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));
        }
Beispiel #6
0
        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));
        }
Beispiel #12
0
        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));
        }
Beispiel #15
0
        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);
            }
        }
Beispiel #17
0
        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;
        }
Beispiel #21
0
        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);
            }
        }
Beispiel #23
0
 internal bool Cancelar(CadastroAmbientalRural caracterizacao)
 {
     return(Validacao.EhValido);
 }
Beispiel #24
0
        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);
        }