internal bool CopiarDadosCredenciado(UnidadeProducao caracterizacao) { if (caracterizacao.CredenciadoID <= 0) { Validacao.Add(Mensagem.UnidadeProducao.CopiarCaractizacaoCadastrada); } string auxiliar = _da.CodigoPropriedadeExistenteImportar(caracterizacao); if (!string.IsNullOrEmpty(auxiliar)) { Validacao.Add(Mensagem.UnidadeProducao.CodigoPropriedadeExistenteImportar(auxiliar)); } caracterizacao.UnidadesProducao.ForEach(unidade => { EmpreendimentoCaracterizacao emp = _da.VerificarCodigoUPJaCadastrado(unidade.CodigoUP, caracterizacao.Empreendimento.Id); if (emp != null && emp.Id > 0) { Validacao.Add(Mensagem.UnidadeProducao.CodigoUPJaAssociado(emp.Codigo.GetValueOrDefault(), emp.Denominador)); } }); return(Validacao.EhValido); }
internal EmpreendimentoCaracterizacao VerificarRLAssociadaEmOutroEmpreendimentoCedente(int reservaLegalId, int empreendimentCedenteId, int identificacaoARLCedente) { EmpreendimentoCaracterizacao retorno = null; using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { Comando comando = bancoDeDados.CriarComando(@"select e.codigo, e.denominador from crt_dominialidade_reserva c, tab_empreendimento e where c.emp_compensacao = e.id and c.emp_compensacao = :emp_comp_id and c.arl_cedente = :ident_arl_cedente ", EsquemaBanco); comando.AdicionarParametroEntrada("emp_comp_id", empreendimentCedenteId, DbType.Int32); comando.AdicionarParametroEntrada("ident_arl_cedente", identificacaoARLCedente, DbType.Int32); if (reservaLegalId > 0) { comando.DbCommand.CommandText += "and c.id <> :id"; comando.AdicionarParametroEntrada("id", reservaLegalId, DbType.Int32); } using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { retorno = new EmpreendimentoCaracterizacao(); retorno.Codigo = reader.GetValue <int?>("codigo"); retorno.Denominador = reader.GetValue <string>("denominador"); } } } return(retorno); }
public ReservaLegal() { EmpreendimentoCompensacao = new EmpreendimentoCaracterizacao(); if (Coordenada == null) { Coordenada = new Coordenada(); } }
internal bool EmpreendimentoSolicitacaoCAR(EmpreendimentoCaracterizacao empreendimento) { if (object.Equals(empreendimento, null)) { Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoEmpreendimentoObrigatorio); return(false); } string situacao = string.Empty; if (!String.IsNullOrWhiteSpace(empreendimento.CNPJ)) { situacao = _daCarSolicitacao.EmpreendimentoPossuiSolicitacao(empreendimento.CNPJ); if (!String.IsNullOrWhiteSpace(situacao)) { Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoJaPossuiSolicitacao(situacao)); return(false); } situacao = _carSolicitacaoInternoDa.EmpreendimentoPossuiSolicitacao(empreendimento.CNPJ); if (!String.IsNullOrWhiteSpace(situacao)) { Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoJaPossuiSolicitacao(situacao)); return(false); } } else { if (empreendimento.InternoID > 0) { situacao = _daCarSolicitacao.EmpreendimentoPossuiSolicitacao(empreendimento.InternoID); if (!string.IsNullOrEmpty(situacao)) { Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoJaPossuiSolicitacao(situacao)); return(false); } situacao = _carSolicitacaoInternoDa.EmpreendimentoPossuiSolicitacao(empreendimento.InternoID); if (!string.IsNullOrEmpty(situacao)) { Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoJaPossuiSolicitacao(situacao)); return(false); } } else { situacao = _daCarSolicitacao.EmpreendimentoCredenciadoPossuiSolicitacao(empreendimento.Id); if (!string.IsNullOrEmpty(situacao)) { Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoJaPossuiSolicitacao(situacao)); return(false); } } } return(true); }
public ActionResult ValidarAdicionarARL(int reservaLegal, int empreendimento) { DominialidadeBus dominialidadeBus = new DominialidadeBus(); EmpreendimentoCaracterizacao empReservaLegal = dominialidadeBus.ObterEmpreendimentoReceptor(reservaLegal); TermoCPFARLCRValidar validar = new TermoCPFARLCRValidar(); validar.AdicionarARL(empreendimento, empReservaLegal.Id); return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido })); }
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)); }
private ActionResult CarregarListarVM(int id, bool isVisualizar = false) { ListarVM vm = new ListarVM(_listaBus.QuantPaginacao); vm.Filtros.IsVisualizar = isVisualizar; vm.Filtros.EmpreendimentoId = id; vm.Paginacao.QuantPaginacao = Convert.ToInt32(ViewModelHelper.CookieQuantidadePorPagina); vm.SetListItens(_listaBus.TipoExploracaoFlorestal, _listaBus.QuantPaginacao, vm.Paginacao.QuantPaginacao); EmpreendimentoCaracterizacao empreendimento = _caracterizacaoBus.ObterEmpreendimentoSimplificado(id); vm.Caracterizacao = new CaracterizacaoVM(empreendimento); return(PartialView(vm)); }
private void VerificarRLAssociadaEmOutroEmpreendimentoCedente(int reservaLegalId, int empreendimentoCedenteId, int IdentificacaoARL) { if (reservaLegalId <= 0 || empreendimentoCedenteId <= 0 || IdentificacaoARL <= 0) { return; } EmpreendimentoCaracterizacao empreendimentoExistente = _daInterno.VerificarRLAssociadaEmOutroEmpreendimentoCedente(reservaLegalId, empreendimentoCedenteId, IdentificacaoARL); if (empreendimentoExistente != null) { Validacao.Add(Mensagem.Dominialidade.RLAssociadaEmOutroEmpreendimentoCedente(empreendimentoExistente.Codigo.GetValueOrDefault(), empreendimentoExistente.Denominador)); } }
public void AssociarProjetoDigital(ProjetoDigital projetoDigital, List <Lista> atividades) { if (projetoDigital.Situacao != (int)eProjetoDigitalSituacao.AguardandoImportacao) { Validacao.Add(Mensagem.CARSolicitacao.SituacaoDeveSerAguardandoImportacao); } if (projetoDigital.EmpreendimentoId < 1) { Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoEmpreendimentoObrigatorio); } if (atividades.Count < 1) { Validacao.Add(Mensagem.CARSolicitacao.RequerimentoNaoPossuiAtividadeCAR); } #region Solitação de CAR EmpreendimentoCaracterizacao empreendimento = _busCaracterizacao.ObterEmpreendimentoSimplificado(projetoDigital.EmpreendimentoId.GetValueOrDefault()); if (!EmpreendimentoSolicitacaoCAR(empreendimento)) { return; } #endregion Solitação de CAR if (projetoDigital.Dependencias.Count(x => x.DependenciaTipo == (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico) < 1) { Validacao.Add(Mensagem.CARSolicitacao.ProjetoDigitalDominialidadeAssociada); return; } if (projetoDigital.Dependencias.Count(x => x.DependenciaCaracterizacao == (int)eCaracterizacao.Dominialidade) < 1) { Validacao.Add(Mensagem.CARSolicitacao.ProjetoDigitalNaoPossuiCaracterizacaoDominialidade); return; } projetoDigital.Dependencias.ForEach(x => { if (x.DependenciaTipo == (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico && x.DependenciaCaracterizacao == (int)eCaracterizacao.Dominialidade) { if (_busProjetoGeografico.ObterSitacaoProjetoGeografico(x.DependenciaId) != (int)eProjetoGeograficoSituacao.Finalizado) { Validacao.Add(Mensagem.CARSolicitacao.ProjetoGeograficoNaoEstaFinalizado); } } }); }
public bool Salvar(UnidadeConsolidacao unidade) { try { if (!_validar.Salvar(unidade)) { return(Validacao.EhValido); } if (!unidade.PossuiCodigoUC) { if (unidade.Id < 1) { int codigo = _da.ObterSequenciaCodigoUC(); EmpreendimentoCaracterizacao empreendimento = _busCaracterizacao.ObterEmpreendimentoSimplificado(unidade.Empreendimento.Id); unidade.CodigoUC = Convert.ToInt64(empreendimento.MunicipioIBGE.ToString() + codigo.ToString("D4")); } else { unidade.CodigoUC = ObterPorEmpreendimento(unidade.Empreendimento.Id, true).CodigoUC; } } foreach (var aux in unidade.ResponsaveisTecnicos) { aux.CFONumero = aux.CFONumero.Split('-').GetValue(0).ToString(); } GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { bancoDeDados.IniciarTransacao(); _da.Salvar(unidade, bancoDeDados); Validacao.Add(Mensagem.UnidadeConsolidacao.UnidadeConsolidacaoSalvaSucesso); bancoDeDados.Commit(); } } catch (Exception e) { Validacao.AddErro(e); } return(Validacao.EhValido); }
public EmpreendimentoCaracterizacao ObterEmpreendimentoReceptor(int reservaLegal, BancoDeDados banco = null) { EmpreendimentoCaracterizacao empreendimento = null; try { empreendimento = _da.ObterEmpreendimentoReceptor(reservaLegal, banco); } catch (Exception exc) { Validacao.AddErro(exc); } return(empreendimento); }
internal EmpreendimentoCaracterizacao ObterEmpreendimentoSimplificado(int empreendimentoInternoId, BancoDeDados banco = null) { EmpreendimentoCaracterizacao empreendimento = new EmpreendimentoCaracterizacao(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Empreendimento Comando comando = bancoDeDados.CriarComando(@"select e.id, e.codigo, ls.texto segmento_texto, ls.denominador, e.cnpj, e.denominador denominador_nome, e.tid, ee.zona, ee.municipio municipio_id, (select m.texto from {0}lov_municipio m where m.id = ee.municipio) municipio, (select m.ibge from {0}lov_municipio m where m.id = ee.municipio) municipio_ibge, cm.id modulo_id, cm.modulo_ha, (select es.sigla from {0}lov_estado es where es.id = ee.estado) estado, case when ee.zona = 1 then 'Urbana' else 'Rural' end zona_texto from {0}tab_empreendimento e, {0}tab_empreendimento_atividade a, {0}lov_empreendimento_segmento ls, {0}tab_empreendimento_endereco ee, {0}cnf_municipio_mod_fiscal cm where e.atividade = a.id(+) and e.segmento = ls.id and ee.correspondencia = 0 and ee.empreendimento = e.id and ee.municipio = cm.municipio(+) and e.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", empreendimentoInternoId, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { empreendimento.Id = empreendimentoInternoId; empreendimento.Tid = reader.GetValue <string>("tid"); empreendimento.DenominadorTipo = reader.GetValue <string>("denominador"); empreendimento.Denominador = reader.GetValue <string>("denominador_nome"); empreendimento.MunicipioId = reader.GetValue <int>("municipio_id"); empreendimento.MunicipioIBGE = reader.GetValue <int>("municipio_ibge"); empreendimento.Municipio = reader.GetValue <string>("municipio"); empreendimento.ModuloFiscalId = reader.GetValue <int>("modulo_id"); empreendimento.ModuloFiscalHA = reader.GetValue <decimal>("modulo_ha"); empreendimento.Uf = reader.GetValue <string>("estado"); empreendimento.ZonaLocalizacao = (eZonaLocalizacao)reader.GetValue <int>("zona"); empreendimento.ZonaLocalizacaoTexto = reader.GetValue <string>("zona_texto"); empreendimento.CNPJ = reader.GetValue <string>("cnpj"); empreendimento.Codigo = reader.GetValue <int>("codigo"); } reader.Close(); } #endregion } return(empreendimento); }
public string AbrirModalAcessar(int empreendimentoId) { EmpreendimentoCaracterizacao empreendimento = _caracterizacaoBus.ObterEmpreendimentoSimplificado(empreendimentoId); if (empreendimento.ZonaLocalizacao == eZonaLocalizacao.Rural) { DominialidadeDa dominialidadeDa = new DominialidadeDa(); Dominialidade dominialidade = dominialidadeDa.ObterPorEmpreendimento(empreendimentoId); foreach (Dominio dominio in dominialidade.Dominios) { if (dominio.ReservasLegais.Exists(x => x.SituacaoId == (int)eReservaLegalSituacao.NaoInformada)) { return(Mensagem.ExploracaoFlorestal.EmpreendimentoRuralReservaIndefinida.Texto); } } } return(string.Empty); }
public string AbrirModalAcessar(SilviculturaATV caracterizacao) { EmpreendimentoCaracterizacao empreendimento = _caracterizacaoBus.ObterEmpreendimentoSimplificado(caracterizacao.EmpreendimentoId); /*if (empreendimento.ZonaLocalizacao == eZonaLocalizacao.Rural) * { * DominialidadeDa dominialidadeDa = new DominialidadeDa(); * Dominialidade dominialidade = dominialidadeDa.ObterPorEmpreendimento(caracterizacao.EmpreendimentoId); * * foreach (Dominio dominio in dominialidade.Dominios) * { * if (dominio.ReservasLegais.Exists(x => x.SituacaoId == (int)eReservaLegalSituacao.NaoInformada)) * { * return Mensagem.Silvicultura.EmpreendimentoRuralReservaIndefinida.Texto; * } * } * }*/ return(string.Empty); }
public bool EnviarBasicas(ProjetoDigital projeto, bool validardesatualizadas = false) { if (projeto.Situacao == (int)eProjetoDigitalSituacao.AguardandoCorrecao) { Validacao.Add(Mensagem.ProjetoDigital.PossuiPendenciasCorrecao); return(false); } if (projeto.Situacao != (int)eProjetoDigitalSituacao.EmElaboracao) { Validacao.Add(Mensagem.ProjetoDigital.EnviarSituacaoInvalida); return(false); } if (validardesatualizadas) { EmpreendimentoCaracterizacao empreendimento = _busCaracterizacao.ObterEmpreendimentoSimplificado(projeto.EmpreendimentoId.GetValueOrDefault(0)); List <CaracterizacaoLst> caracterizacoes = _busCaracterizacao.ObterCaracterizacoesPorProjetoDigital(projeto.Id); List <Caracterizacao> cadastradas = _busCaracterizacao.ObterCaracterizacoesEmpreendimento(projeto.EmpreendimentoId.GetValueOrDefault(0), projeto.Id) ?? new List <Caracterizacao>(); List <Caracterizacao> cadastradasInterno = _internoBus.ObterCaracterizacoesAtuais(empreendimento.InternoID, caracterizacoes); if (cadastradas != null && cadastradas.Count > 0) { List <int> desatualizadas = new List <int>(); if (!string.IsNullOrEmpty(_validarCaracterizacao.CaracterizacoesCadastradasDesatualizadas(projeto.EmpreendimentoId.GetValueOrDefault(), cadastradas, cadastradasInterno, out desatualizadas))) { GerenciadorConfiguracao <ConfiguracaoCaracterizacao> configCaracterizacao = new GerenciadorConfiguracao <ConfiguracaoCaracterizacao>(new ConfiguracaoCaracterizacao()); Validacao.Add(Mensagem.Caracterizacao.CaracterizacaoDesatualizadaEnviar( configCaracterizacao.Obter <List <CaracterizacaoLst> >(ConfiguracaoCaracterizacao.KeyCaracterizacoes) .Where(x => desatualizadas.Exists(y => y == x.Id)) .Select(x => x.Texto).ToList() )); } } } return(Validacao.EhValido); }
public ActionResult ObterDadosEmpreendimentoReceptor(int reservaLegal) { DominialidadeBus dominialidadeBus = new DominialidadeBus(); EmpreendimentoCaracterizacao empreendimentoReceptor = dominialidadeBus.ObterEmpreendimentoReceptor(reservaLegal); List <Lista> receptorEmpreendimento = new List <Lista>(); if (empreendimentoReceptor.Id > 0) { receptorEmpreendimento.Add(new Lista() { Id = empreendimentoReceptor.Id.ToString(), Texto = empreendimentoReceptor.Denominador }); } return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, ReceptorEmpreendimento = receptorEmpreendimento, ReceptorDominios = dominialidadeBus.ObterDominiosLista(empreendimentoReceptor.Id), ReceptorResponsaveisEmpreendimento = new EmpreendimentoBus().ObterResponsaveisComTipo(empreendimentoReceptor.Id) })); }
public CaracterizacaoVM(EmpreendimentoCaracterizacao emp) { if (emp != null) { EmpreendimentoId = emp.Id.ToString(); Codigo = emp.Codigo; CNPJ = emp.CNPJ; DenominadorValor = emp.Denominador; DenominadorTexto = emp.DenominadorTipo; ListaValor municipio = new ListaValor() { Id = 1, Texto = emp.Municipio, IsAtivo = true }; ListaValor uf = new ListaValor() { Id = 1, Texto = emp.Uf, IsAtivo = true }; ListaValor zonalocalizacao = new ListaValor() { Id = 1, Texto = emp.ZonaLocalizacaoTexto, IsAtivo = true }; Municipio = ViewModelHelper.CriarSelectList(new List <ListaValor>() { municipio }, true); Uf = ViewModelHelper.CriarSelectList(new List <ListaValor>() { uf }, true); ZonaLocalizacao = ViewModelHelper.CriarSelectList(new List <ListaValor>() { zonalocalizacao }, true); } MensagensNotificacoes = new List <string>(); }
public bool CopiarDadosCredenciado(int projetoDigitalID, BancoDeDados banco, BancoDeDados bancoCredenciado) { try { CaractCredBus.CaracterizacaoBus caracCredBus = new CaractCredBus.CaracterizacaoBus(); ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus(); int empreendimentoID = projetoDigitalCredenciadoBus.Obter(projetoDigitalID, 0, null, null).EmpreendimentoId ?? 0; if (empreendimentoID < 1) { return(false); } EmpreendimentoCaracterizacao empreendimento = caracCredBus.ObterEmpreendimentoSimplificado(empreendimentoID); ProjetoGeograficoBus projetoGeograficoBus = new ProjetoGeograficoBus(); List <Dependencia> dependencias = projetoDigitalCredenciadoBus.ObterDependencias(projetoDigitalID); ICaracterizacaoBus caracterizacaoBus; GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { bancoDeDados.IniciarTransacao(); foreach (Dependencia item in dependencias.Where(x => x.DependenciaTipo == (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico).ToList()) { projetoGeograficoBus.CopiarDadosCredenciado(item, empreendimento.InternoID, bancoDeDados, bancoCredenciado); if (!Validacao.EhValido) { break; } } if (!Validacao.EhValido) { bancoDeDados.Rollback(); return(false); } foreach (Dependencia item in dependencias.Where(x => x.DependenciaTipo == (int)eCaracterizacaoDependenciaTipo.Caracterizacao).ToList()) { caracterizacaoBus = CaracterizacaoBusFactory.Criar((eCaracterizacao)item.DependenciaCaracterizacao); if (caracterizacaoBus == null) { Validacao.Add(eTipoMensagem.Erro, item.DependenciaCaracterizacaoTexto + " Bus não criada"); } if (!caracterizacaoBus.CopiarDadosCredenciado(item, empreendimento.InternoID, bancoDeDados, bancoCredenciado)) { break; } } if (!Validacao.EhValido) { bancoDeDados.Rollback(); return(false); } Validacao.Add(Mensagem.ProjetoDigital.CopiarCaracterizacao); bancoDeDados.Commit(); } return(true); } catch (Exception exc) { Validacao.AddErro(exc); return(false); } }
public void CopiarDadosInstitucional(int empreendimentoID, eCaracterizacao caracterizacaoTipo, int projetoDigitalID, DesassociarDependencias desassociarDependencias) { try { EmpreendimentoCaracterizacao empreendimento = ObterEmpreendimentoSimplificado(empreendimentoID); ProjetoGeograficoBus projetoGeograficoBus = new ProjetoGeograficoBus(); GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado)) { bancoDeDados.IniciarTransacao(); if (caracterizacaoTipo != eCaracterizacao.UnidadeProducao && caracterizacaoTipo != eCaracterizacao.UnidadeConsolidacao && caracterizacaoTipo != eCaracterizacao.BarragemDispensaLicenca) { projetoGeograficoBus.CopiarDadosInstitucional(empreendimentoID, empreendimento.InternoID, (eCaracterizacao)caracterizacaoTipo, bancoDeDados); } if (!Validacao.EhValido) { bancoDeDados.Rollback(); return; } ICaracterizacaoBus caracterizacaoBus = CaracterizacaoBusFactory.Criar(caracterizacaoTipo); if (caracterizacaoBus == null) { Validacao.Add(eTipoMensagem.Erro, "Caracterizacao Bus não criada"); } caracterizacaoBus.CopiarDadosInstitucional(empreendimentoID, empreendimento.InternoID, bancoDeDados); if (!Validacao.EhValido) { bancoDeDados.Rollback(); return; } #region Alterar Projeto Digital ProjetoDigital projetoDigital = new ProjetoDigital(); projetoDigital.Id = projetoDigitalID; projetoDigital.EmpreendimentoId = empreendimentoID; projetoDigital.Dependencias.Add(new Dependencia() { DependenciaCaracterizacao = (int)caracterizacaoTipo }); desassociarDependencias(projetoDigital, bancoDeDados); #endregion if (!Validacao.EhValido) { bancoDeDados.Rollback(); } Validacao.Erros.Clear(); Validacao.Add(Mensagem.ProjetoDigital.CopiarCaracterizacao); bancoDeDados.Commit(); } } catch (Exception exc) { Validacao.AddErro(exc); } }
public ActionResult Index(int id) { EmpreendimentoCaracterizacao empreendimento = _bus.ObterEmpreendimentoSimplificado(id); if (empreendimento.Id == 0) { Validacao.Add(Mensagem.Caracterizacao.EmpreendimentoNaoEncontrado); return(RedirectToAction("Index", "../Empreendimento", Validacao.QueryParamSerializer())); } CaracterizacaoVM vm = new CaracterizacaoVM(empreendimento); List <CaracterizacaoLst> caracterizacoes = _bus.CaracterizacaoConfig.Obter <List <CaracterizacaoLst> >(ConfiguracaoCaracterizacao.KeyCaracterizacoes); List <ProjetoGeografico> projetos = _bus.ObterProjetosEmpreendimento(id); if (!_bus.ValidarAcessarTela(caracterizacoes)) { return(RedirectToAction("Index", "../Empreendimento", Validacao.QueryParamSerializer())); } List <Caracterizacao> cadastradas = _bus.ObterCaracterizacoesEmpreendimento(id) ?? new List <Caracterizacao>(); vm.CaracterizacoesNaoCadastradas = caracterizacoes .Where(x => !cadastradas.Any(y => y.Id > 0 && (int)y.Tipo == x.Id)) .Select(z => new CaracterizacaoVME() { Tipo = (eCaracterizacao)z.Id, Nome = z.Texto }).ToList(); vm.CaracterizacoesCadastradas = caracterizacoes .Where(x => cadastradas.Any(y => y.Id > 0 && (int)y.Tipo == x.Id)) .Select(z => new CaracterizacaoVME() { Tipo = (eCaracterizacao)z.Id, Nome = z.Texto }).ToList(); List <DependenciaLst> dependencias = _bus.CaracterizacaoConfig.Obter <List <DependenciaLst> >(ConfiguracaoCaracterizacao.KeyCaracterizacoesDependencias); vm.CaracterizacoesNaoCadastradas.ForEach(x => { x.PodeCadastrar = User.IsInRole(String.Format("{0}Criar", x.Tipo.ToString())); x.ProjetoGeografico = User.IsInRole("ProjetoGeograficoCriar"); x.DscLicAtividade = User.IsInRole("DescricaoLicenciamentoAtividadeCriar"); x.ProjetoGeoObrigatorio = dependencias.Exists(y => y.DependenteTipo == (int)x.Tipo && y.DependenciaTipo == (int)x.Tipo && y.TipoId == (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico); x.DscLicAtividadeObrigatorio = dependencias.Exists(y => y.DependenteTipo == (int)x.Tipo && y.DependenciaTipo == (int)x.Tipo && y.TipoId == (int)eCaracterizacaoDependenciaTipo.DescricaoLicenciamentoAtividade); Caracterizacao cadastrada = cadastradas.SingleOrDefault(y => y.Tipo == x.Tipo) ?? new Caracterizacao(); x.ProjetoGeograficoId = cadastrada.ProjetoRascunhoId; x.DscLicAtividadeId = cadastrada.DscLicAtividadeId; if (x.ProjetoGeograficoId <= 0) { x.ProjetoGeograficoId = cadastrada.ProjetoId; } x.UrlCriar = Url.Action("Criar", x.Tipo.ToString()); }); vm.CaracterizacoesCadastradas.ForEach(x => { if (User.IsInRole("ProjetoGeograficoEditar") || User.IsInRole("ProjetoGeograficoVisualizar")) { x.ProjetoGeografico = true; } x.ProjetoGeograficoVisualizar = User.IsInRole(ePermissao.ProjetoGeograficoVisualizar.ToString()) && !User.IsInRole(ePermissao.ProjetoGeograficoCriar.ToString()) && !User.IsInRole(ePermissao.ProjetoGeograficoEditar.ToString()); if (User.IsInRole("DescricaoLicenciamentoAtividadeEditar") || User.IsInRole("DescricaoLicenciamentoAtividadeVisualizar")) { x.DscLicAtividade = true; } x.DscLicAtividadeVisualizar = User.IsInRole(ePermissao.DescricaoLicenciamentoAtividadeVisualizar.ToString()) && !User.IsInRole(ePermissao.DescricaoLicenciamentoAtividadeCriar.ToString()) && !User.IsInRole(ePermissao.DescricaoLicenciamentoAtividadeEditar.ToString()); x.PodeEditar = User.IsInRole(String.Format("{0}Editar", x.Tipo.ToString())); x.PodeVisualizar = User.IsInRole(String.Format("{0}Visualizar", x.Tipo.ToString())); x.PodeExcluir = User.IsInRole(String.Format("{0}Excluir", x.Tipo.ToString())); Caracterizacao cadastrada = cadastradas.SingleOrDefault(y => y.Tipo == x.Tipo) ?? new Caracterizacao(); x.ProjetoGeograficoId = cadastrada.ProjetoId; x.DscLicAtividadeId = cadastrada.DscLicAtividadeId; x.UrlEditar = Url.Action("Editar", x.Tipo.ToString()); x.UrlVisualizar = Url.Action("Visualizar", x.Tipo.ToString()); x.UrlExcluirConfirm = Url.Action("ExcluirConfirm", x.Tipo.ToString()); x.UrlExcluir = Url.Action("Excluir", x.Tipo.ToString()); }); #region CAR vm.CaracterizacoesCadastradas.Where(x => x.Tipo == eCaracterizacao.CadastroAmbientalRural).ToList().ForEach(x => { x.ProjetoGeografico = false; x.ProjetoGeograficoVisualizar = false; x.ProjetoGeograficoId = 0; x.DscLicAtividade = false; x.DscLicAtividadeVisualizar = false; x.DscLicAtividadeId = 0; }); #endregion return(View("Caracterizacao", vm)); }
public ActionResult Index(int id, int projetoDigitalId, bool visualizar = false) { ProjetoDigitalCredenciadoBus projetoDigitalCredenciadoBus = new ProjetoDigitalCredenciadoBus(); if (id == 0) { if (!visualizar) { ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.AlterarEtapa(projetoDigitalId, eProjetoDigitalEtapa.Envio); } return(RedirectToAction("Operar", "ProjetoDigital", Validacao.QueryParamSerializer(new { id = projetoDigitalId, area = "" }))); } EmpreendimentoCaracterizacao empreendimento = _bus.ObterEmpreendimentoSimplificado(id); CaracterizacaoVM vm = new CaracterizacaoVM(empreendimento); if (empreendimento.InternoID > 0) { Empreendimento empreendimentoInterno = new EmpreendimentoInternoBus().ObterSimplificado(empreendimento.InternoID); if (empreendimento.InternoTID != empreendimentoInterno.Tid) { vm.MensagensNotificacoes.Add(Mensagem.Caracterizacao.EmpreendimentoDesatualizado(empreendimentoInterno.Denominador).Texto); } } if (empreendimento.Id == 0) { Validacao.Add(Mensagem.Caracterizacao.EmpreendimentoNaoEncontrado); return(RedirectToAction("Operar", "ProjetoDigital", Validacao.QueryParamSerializer(new { id = projetoDigitalId, area = "" }))); } vm.ProjetoDigitalId = projetoDigitalId; vm.IsVisualizar = visualizar; List <CaracterizacaoLst> caracterizacoes = _bus.ObterCaracterizacoesPorProjetoDigital(projetoDigitalId); if (caracterizacoes.All(carac => carac.Permissao == ePermissaoTipo.NaoPermitido)) { Validacao.Add(Mensagem.Caracterizacao.UsuarioNaoPermitidoParaCaracterizacao); } caracterizacoes.RemoveAll(caract => caract.Permissao == ePermissaoTipo.NaoPermitido); #region Projeto Digital if (caracterizacoes == null || caracterizacoes.Count <= 0) { ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.AlterarEtapa(projetoDigitalId, eProjetoDigitalEtapa.Envio); return(RedirectToAction("Operar", "ProjetoDigital", Validacao.QueryParamSerializer(new { id = projetoDigitalId, area = "" }))); } ProjetoDigitalCredenciadoValidar projetoDigitalCredenciadoValidar = new ProjetoDigitalCredenciadoValidar(); if (!projetoDigitalCredenciadoValidar.PossuiCaracterizacaoAtividade(caracterizacoes, projetoDigitalId)) { if (!visualizar) { ProjetoDigital projetoDigital = projetoDigitalCredenciadoBus.AlterarEtapa(projetoDigitalId, eProjetoDigitalEtapa.Envio); } return(RedirectToAction("Operar", "ProjetoDigital", Validacao.QueryParamSerializer(new { id = projetoDigitalId, area = "" }))); } else { vm.MostrarFinalizar = (projetoDigitalCredenciadoBus.Obter(projetoDigitalId).Etapa == (int)eProjetoDigitalEtapa.Caracterizacao) && !visualizar; } #endregion List <Caracterizacao> caracterizacoesAssociadas = _bus.ObterCaracterizacoesAssociadasProjetoDigital(projetoDigitalId); List <Caracterizacao> cadastradas = _bus.ObterCaracterizacoesEmpreendimento(id, projetoDigitalId) ?? new List <Caracterizacao>(); List <Caracterizacao> cadastradasInterno = _internoBus.ObterCaracterizacoesAtuais(empreendimento.InternoID, caracterizacoes); if (cadastradas != null && cadastradas.Count > 0) { List <int> desatualizadas = new List <int>(); string msgDesatualizadas = _validar.CaracterizacoesCadastradasDesatualizadas(empreendimento.Id, cadastradas, cadastradasInterno, out desatualizadas); if (!string.IsNullOrEmpty(msgDesatualizadas)) { vm.MensagensNotificacoes.Add(msgDesatualizadas); } vm.CaracterizacoesPossivelCopiar = _bus.ObterPossivelCopiar(cadastradas); vm.CaracterizacoesPossivelCopiar.AddRange(desatualizadas.Where(x => !vm.CaracterizacoesPossivelCopiar.Exists(y => y == x))); } vm.CaracterizacoesNaoCadastradas = caracterizacoes .Where(x => !cadastradas.Any(y => y.Id > 0 && (int)y.Tipo == x.Id)) .Select(z => new CaracterizacaoVME() { Tipo = (eCaracterizacao)z.Id, Nome = z.Texto }).ToList(); vm.CaracterizacoesCadastradas = caracterizacoes .Where(x => cadastradas.Where(y => !caracterizacoesAssociadas.Exists(z => z.Tipo == y.Tipo)).Any(y => y.Id > 0 && (int)y.Tipo == x.Id)) .Select(z => new CaracterizacaoVME() { Tipo = (eCaracterizacao)z.Id, Nome = z.Texto }).ToList(); vm.CaracterizacoesAssociadas = caracterizacoesAssociadas .Select(z => new CaracterizacaoVME() { Tipo = (eCaracterizacao)z.Tipo, Nome = z.Nome }).ToList(); List <DependenciaLst> dependencias = _bus.CaracterizacaoConfig.Obter <List <DependenciaLst> >(ConfiguracaoCaracterizacao.KeyCaracterizacoesDependencias); #region Não Cadastradas vm.CaracterizacoesNaoCadastradas.ForEach(x => { ICaracterizacaoBus caracterizacaoBus = CaracterizacaoBusFactory.Criar(x.Tipo); if (caracterizacaoBus != null) { x.PodeCopiar = cadastradasInterno.Exists(y => y.Tipo == x.Tipo) && caracterizacaoBus.PodeCopiar(empreendimento.InternoID); } x.PodeCadastrar = User.IsInRole(String.Format("{0}Criar", x.Tipo.ToString())); x.ProjetoGeografico = User.IsInRole("ProjetoGeograficoCriar"); x.ProjetoGeoObrigatorio = dependencias.Exists(y => y.DependenteTipo == (int)x.Tipo && y.DependenciaTipo == (int)x.Tipo && y.TipoId == (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico); x.ProjetoGeograficoId = (cadastradas.FirstOrDefault(y => y.Tipo == x.Tipo) ?? new Caracterizacao()).ProjetoRascunhoId; if (x.ProjetoGeograficoId <= 0) { x.ProjetoGeograficoId = (cadastradas.SingleOrDefault(y => y.Tipo == x.Tipo) ?? new Caracterizacao()).ProjetoId; } x.UrlCriar = Url.Action("Criar", x.Tipo.ToString()); }); #endregion #region Cadastradas vm.CaracterizacoesCadastradas.ForEach(x => { if (User.IsInRole("ProjetoGeograficoEditar") || User.IsInRole("ProjetoGeograficoVisualizar")) { x.ProjetoGeografico = true; } x.ProjetoGeograficoVisualizar = visualizar; x.PodeEditar = User.IsInRole(String.Format("{0}Editar", x.Tipo.ToString())); x.PodeVisualizar = User.IsInRole(String.Format("{0}Visualizar", x.Tipo.ToString())); x.PodeExcluir = (User.IsInRole(String.Format("{0}Excluir", x.Tipo.ToString())) && (x.Tipo == eCaracterizacao.UnidadeConsolidacao || x.Tipo == eCaracterizacao.UnidadeProducao)); x.PodeCopiar = cadastradasInterno.Exists(y => y.Tipo == x.Tipo); x.PodeAssociar = !caracterizacoesAssociadas.Exists(y => y.Tipo == x.Tipo); x.ProjetoGeograficoId = cadastradas.SingleOrDefault(y => y.Tipo == x.Tipo).ProjetoId; x.UrlEditar = Url.Action("Editar", x.Tipo.ToString()); x.UrlVisualizar = Url.Action("Visualizar", x.Tipo.ToString()); x.UrlExcluirConfirm = Url.Action("ExcluirConfirm", x.Tipo.ToString()); x.UrlExcluir = Url.Action("Excluir", x.Tipo.ToString()); }); #endregion #region Associadas vm.CaracterizacoesAssociadas.ForEach(x => { if (User.IsInRole("ProjetoGeograficoVisualizar")) { x.ProjetoGeografico = true; x.ProjetoGeograficoVisualizar = true; x.ProjetoGeograficoId = cadastradas.SingleOrDefault(y => y.Tipo == x.Tipo).ProjetoId; } x.PodeVisualizar = User.IsInRole(String.Format("{0}Visualizar", x.Tipo.ToString())); x.UrlVisualizar = Url.Action("Visualizar", x.Tipo.ToString()); }); #endregion return(View("Caracterizacao", vm)); }
public UnidadeProducao() { Empreendimento = new EmpreendimentoCaracterizacao(); UnidadesProducao = new List <UnidadeProducaoItem>(); }
public bool Salvar(UnidadeProducao caracterizacao, int projetoDigitalId) { try { CaracterizacaoBus caracterizacaoBus = new CaracterizacaoBus(); EmpreendimentoCaracterizacao empreendimento = caracterizacaoBus.ObterEmpreendimentoSimplificado(caracterizacao.Empreendimento.Id); UnidadeProducaoInternoBus unidadeConsolidacaoInternoBus = new UnidadeProducaoInternoBus(); UnidadeProducao caracterizacaoInterno = unidadeConsolidacaoInternoBus.ObterPorEmpreendimento(empreendimento.InternoID, true); caracterizacao.InternoID = caracterizacaoInterno.Id; caracterizacao.InternoTID = caracterizacaoInterno.Tid; if (!_validar.Salvar(caracterizacao, projetoDigitalId)) { return(Validacao.EhValido); } #region Configurar Salvar UnidadeProducao caracterizacaoBanco = ObterPorEmpreendimento(caracterizacao.Empreendimento.Id); if (caracterizacaoInterno.Id > 0) { caracterizacao.PossuiCodigoPropriedade = caracterizacaoInterno.PossuiCodigoPropriedade; caracterizacao.CodigoPropriedade = caracterizacaoInterno.CodigoPropriedade; } else { if (!caracterizacao.PossuiCodigoPropriedade) { if (caracterizacao.Id < 1) { caracterizacao.CodigoPropriedade = _da.ObterSequenciaCodigoPropriedade(); } else { caracterizacao.CodigoPropriedade = caracterizacaoBanco.CodigoPropriedade; } } } RequestJson requestJson = new RequestJson(); ResponseJsonData <dynamic> resposta = new ResponseJsonData <dynamic>(); int ultimoCodigoUP = _da.ObterUltimoCodigoUP(caracterizacao.Empreendimento.Id); foreach (long item in caracterizacao.UnidadesProducao.Where(x => x.PossuiCodigoUP).Select(x => x.CodigoUP)) { int aux = Convert.ToInt32(item.ToString().Substring(14)); if (aux > ultimoCodigoUP) { ultimoCodigoUP = aux; } } foreach (UnidadeProducaoItem item in caracterizacao.UnidadesProducao) { int codigoIbge = 0; resposta = requestJson.Executar <dynamic>(_configCoordenada.Obter <String>(ConfiguracaoCoordenada.KeyUrlObterMunicipioCoordenada) + "?easting=" + item.Coordenada.EastingUtm + "&northing=" + item.Coordenada.NorthingUtm); if (resposta.Erros != null && resposta.Erros.Count > 0) { Validacao.Erros.AddRange(resposta.Erros); return(Validacao.EhValido); } var objJson = resposta.Data; if (objJson["EstaNoEstado"] && (objJson["Municipio"] == null || Convert.ToInt32(objJson["Municipio"]["IBGE"] ?? 0) == 0)) { Validacao.Add(Mensagem.Mapas.MunicipioSemRetorno); } if (!Validacao.EhValido) { return(Validacao.EhValido); } if (objJson["Municipio"] != null) { codigoIbge = Convert.ToInt32(objJson["Municipio"]["IBGE"] ?? 0); } ListaValoresDa listaValoresDa = new ListaValoresDa(); item.Municipio = listaValoresDa.ObterMunicipio(codigoIbge); if (!item.PossuiCodigoUP) { item.AnoAbertura = DateTime.Today.Year.ToString().Substring(2); if (item.Id < 1) { ultimoCodigoUP++; item.CodigoUP = Convert.ToInt64( item.Municipio.Ibge.ToString() + caracterizacao.CodigoPropriedade.ToString("D4") + item.AnoAbertura + ultimoCodigoUP.ToString("D2")); } else { item.CodigoUP = caracterizacaoBanco.UnidadesProducao.Single(x => x.Id == item.Id).CodigoUP; } } else { item.AnoAbertura = item.CodigoUP.ToString().Substring(11, 2); } foreach (var aux in item.ResponsaveisTecnicos) { aux.CFONumero = aux.CFONumero.Split('-').GetValue(0).ToString(); } } #endregion if (caracterizacao.UnidadesProducao.Any(x => caracterizacao.UnidadesProducao.Count(y => y.CodigoUP == x.CodigoUP) > 1)) { Validacao.Add(Mensagem.UnidadeProducao.UnidadeProducaoItemIncorreto); return(false); } foreach (var item in caracterizacao.UnidadesProducao) { if (item.CodigoUP.ToString().Substring(7, 4) != caracterizacao.CodigoPropriedade.ToString("D4")) { Validacao.Add(Mensagem.UnidadeProducao.CodigoUPNaoContemCodPropriedade(item.CodigoUP)); return(false); } } GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado)) { bancoDeDados.IniciarTransacao(); _da.Salvar(caracterizacao, bancoDeDados); Validacao.Add(Mensagem.UnidadeProducao.SalvoSucesso); bancoDeDados.Commit(); } } catch (Exception e) { Validacao.AddErro(e); } return(Validacao.EhValido); }
internal bool EmpreendimentoSolicitacaoCAR(EmpreendimentoCaracterizacao empreendimento) { if (object.Equals(empreendimento, null)) { Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoEmpreendimentoObrigatorio); return(false); } string situacao = string.Empty; if (!String.IsNullOrWhiteSpace(empreendimento.CNPJ)) { situacao = _daCarSolicitacao.EmpreendimentoPossuiSolicitacao(empreendimento.CNPJ); if (!String.IsNullOrWhiteSpace(situacao)) { Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoJaPossuiSolicitacao(situacao)); return(false); } situacao = _carSolicitacaoInternoDa.EmpreendimentoPossuiSolicitacao(empreendimento.CNPJ); if (!String.IsNullOrWhiteSpace(situacao)) { Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoJaPossuiSolicitacao(situacao)); return(false); } } else { CARSolicitacao solicitacao = new CARSolicitacao(); if (empreendimento.InternoID > 0) { solicitacao = _daCarSolicitacao.EmpreendimentoPossuiSolicitacaoProjetoDigital(empreendimento.InternoID); if (solicitacao.SituacaoId > 0) { if (solicitacao.SituacaoId == 2) { Validacao.Add(Mensagem.Retificacao.msgCred5()); } else if (solicitacao.SituacaoId == 5) { Validacao.Add(Mensagem.Retificacao.msgCred6()); } else { Validacao.Add(Mensagem.Retificacao.msgCred2(solicitacao.ProjetoId, solicitacao.Id)); } return(false); } solicitacao = _carSolicitacaoInternoDa.EmpreendimentoPossuiSolicitacaoProjetoDigital(empreendimento.InternoID); if (solicitacao.SituacaoId > 0) { if (solicitacao.SituacaoId == 2) { Validacao.Add(Mensagem.Retificacao.msgCred5()); } else if (solicitacao.SituacaoId == 5) { Validacao.Add(Mensagem.Retificacao.msgCred6()); } else { Validacao.Add(Mensagem.Retificacao.msgCred2(solicitacao.ProjetoId, solicitacao.Id)); } return(false); } } else { solicitacao = _daCarSolicitacao.EmpreendimentoCredenciadoPossuiSolicitacaoProjetoDigital(empreendimento.Id); if (solicitacao.SituacaoId > 0) { if (solicitacao.SituacaoId == 2) { Validacao.Add(Mensagem.Retificacao.msgCred5()); } else if (solicitacao.SituacaoId == 5) { Validacao.Add(Mensagem.Retificacao.msgCred6()); } else { Validacao.Add(Mensagem.Retificacao.msgCred2(solicitacao.ProjetoId, solicitacao.Id)); } return(false); } } } return(true); }
public UnidadeConsolidacao() { ResponsaveisTecnicos = new List <ResponsavelTecnico>(); Cultivares = new List <Cultivar>(); Empreendimento = new EmpreendimentoCaracterizacao(); }
internal bool Salvar(CARSolicitacao carSolicitacao) { if (carSolicitacao.ProjetoId < 1) { Validacao.Add(Mensagem.CARSolicitacao.ProjetoObrigatorio); return(false); } if (carSolicitacao.Requerimento.Id < 1) { Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoRequerimentoObrigatorio); } if (carSolicitacao.Atividade.Id < 1) { Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoAtividadeObrigatoria); } if (carSolicitacao.Atividade.Id != ConfiguracaoAtividade.ObterId((int)eAtividadeCodigo.CadastroAmbientalRural)) { Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoAtividadeInvalida); } if (carSolicitacao.Empreendimento.Id < 1) { Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoEmpreendimentoObrigatorio); } if (carSolicitacao.Empreendimento.Codigo < 1) { Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoEmpreendimentoCodigoObrigatorio); } if (string.IsNullOrEmpty(carSolicitacao.Empreendimento.NomeRazao)) { Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoEmpreendimentoNomeRazaoObrigatorio); } if (carSolicitacao.Declarante.Id < 1) { Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoDeclaranteObrigatorio); } #region Projeto Digital ProjetoDigital projetoDigital = _busProjetoDigital.Obter(carSolicitacao.ProjetoId); if (projetoDigital.Situacao == (int)eProjetoDigitalSituacao.AguardandoCorrecao || projetoDigital.Situacao == (int)eProjetoDigitalSituacao.ComPendencia || projetoDigital.Situacao == (int)eProjetoDigitalSituacao.EmCorrecao || projetoDigital.Situacao == (int)eProjetoDigitalSituacao.Finalizado || projetoDigital.Situacao == (int)eProjetoDigitalSituacao.Indeferido || projetoDigital.Situacao == (int)eProjetoDigitalSituacao.EmElaboracao) { Validacao.Add(Mensagem.CARSolicitacao.SituacaoDeveSerAguardandoImportacao); } #endregion #region Requerimento Requerimento requerimento = _busRequerimento.ObterSimplificado(carSolicitacao.Requerimento.Id); if (requerimento == null || requerimento.Id < 1) { Validacao.Add(Mensagem.Requerimento.Inexistente); } if (requerimento.CredenciadoId != User.FuncionarioId) { Validacao.Add(Mensagem.Requerimento.PosseCredenciado); } if (requerimento.Empreendimento.Id < 1) { Validacao.Add(Mensagem.CARSolicitacao.ProjetoDigitalSemEmpreendimento); } #endregion #region Solitação de CAR EmpreendimentoCaracterizacao empreendimento = _busCaracterizacao.ObterEmpreendimentoSimplificado(carSolicitacao.Empreendimento.Id); /*if (!EmpreendimentoSolicitacaoCAR(empreendimento)) * { * return false; * }*/ #endregion Solitação de CAR #region Validar Dados da Caracterizacao if (projetoDigital.Dependencias.Count(x => x.DependenciaTipo == (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico) < 1) { Validacao.Add(Mensagem.CARSolicitacao.ProjetoDigitalDominialidadeAssociada); } projetoDigital.Dependencias.ForEach(x => { if (x.DependenciaTipo == (int)eCaracterizacaoDependenciaTipo.ProjetoGeografico && x.DependenciaCaracterizacao == (int)eCaracterizacao.Dominialidade) { if (_busProjetoGeografico.ObterSitacaoProjetoGeografico(x.DependenciaId) != (int)eProjetoGeograficoSituacao.Finalizado) { Validacao.Add(Mensagem.CARSolicitacao.ProjetoGeograficoNaoEstaFinalizado); } } }); #endregion #region Validar Dados do Titulo String tituloSituacao = _carSolicitacaoInternoDa.ObterSituacaoTituloCARExistente(empreendimento.InternoID); if (!String.IsNullOrWhiteSpace(tituloSituacao)) { Validacao.Add(Mensagem.CARSolicitacao.EmpreendimentoPossuiTitulo(tituloSituacao)); } #endregion return(Validacao.EhValido); }