public RegularizacaoFundiaria ObterPorEmpreendimento(int empreendimento, bool simplificado = false, BancoDeDados banco = null) { RegularizacaoFundiaria caracterizacao = null; try { caracterizacao = _da.ObterPorEmpreendimento(empreendimento, simplificado, banco); caracterizacao.Dependencias = _busCaracterizacao.ObterDependencias(caracterizacao.Id, eCaracterizacao.RegularizacaoFundiaria, eCaracterizacaoDependenciaTipo.Caracterizacao, banco); int zona = (int)_busCaracterizacao.ObterEmpreendimentoSimplificado(empreendimento).ZonaLocalizacao; caracterizacao.Posses.ForEach(x => { x.Zona = zona; }); caracterizacao.Posses = caracterizacao.Posses.OrderBy(x => x.Identificacao).ToList(); caracterizacao.Matriculas = _busDominialidade.ObterPorEmpreendimento(empreendimento).Dominios.Where(x => x.Tipo == eDominioTipo.Matricula).ToList(); } catch (Exception exc) { Validacao.AddErro(exc); } return(caracterizacao); }
public ActionResult Criar(int id, int projetoDigitalId) { if (!_caracterizacaoValidar.Basicas(id)) { return(RedirectToAction("Operar", "ProjetoDigital", Validacao.QueryParamSerializer(new { id = projetoDigitalId, area = "" }))); } UnidadeProducao caracterizacao = new UnidadeProducao(); caracterizacao.Empreendimento.Id = id; if (!_validar.Acessar(caracterizacao.Empreendimento.Id, projetoDigitalId)) { return(RedirectToAction("", "Caracterizacao", new { id = id, projetoDigitalId = projetoDigitalId, Msg = Validacao.QueryParam() })); } UnidadeProducaoVM vm = new UnidadeProducaoVM(caracterizacao); vm.UnidadeProducao.Empreendimento = _caracterizacaoBus.ObterEmpreendimentoSimplificado(id); UnidadeProducaoInternoBus unidadeConsolidacaoInternoBus = new UnidadeProducaoInternoBus(); UnidadeProducao caracterizacaoInterno = unidadeConsolidacaoInternoBus.ObterPorEmpreendimento(vm.UnidadeProducao.Empreendimento.InternoID, true); if (caracterizacaoInterno.Id > 0) { vm.UnidadeProducao.PossuiCodigoPropriedade = caracterizacaoInterno.PossuiCodigoPropriedade; vm.UnidadeProducao.CodigoPropriedade = caracterizacaoInterno.CodigoPropriedade; vm.UnidadeProducao.InternoID = caracterizacaoInterno.Id; } return(View(vm)); }
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)); }
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 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 ActionResult Criar(int id) { if (!_caracterizacaoValidar.Basicas(id)) { return(RedirectToAction("Index", "../Empreendimento", Validacao.QueryParamSerializer())); } UnidadeProducao caracterizacao = new UnidadeProducao(); caracterizacao.Empreendimento.Id = id; if (!_validar.Acessar(caracterizacao.Empreendimento.Id)) { return(RedirectToAction("", "Caracterizacao", new { id = id, Msg = Validacao.QueryParam() })); } UnidadeProducaoVM vm = new UnidadeProducaoVM(); vm.UnidadeProducao.Empreendimento = _caracterizacaoBus.ObterEmpreendimentoSimplificado(id); return(View(vm)); }
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 Criar(int id, int projetoDigitalId) { if (!_caracterizacaoValidar.Basicas(id)) { return(RedirectToAction("Index", "../Empreendimento", Validacao.QueryParamSerializer())); } UnidadeConsolidacao caracterizacao = new UnidadeConsolidacao(); caracterizacao.Empreendimento.Id = id; if (!_validar.Acessar(caracterizacao.Empreendimento.Id, projetoDigitalId)) { return(RedirectToAction("", "Caracterizacao", new { id = id, projetoDigitalId = projetoDigitalId, Msg = Validacao.QueryParam() })); } UnidadeConsolidacaoVM vm = new UnidadeConsolidacaoVM(); vm.LstUnidadeMedida = ViewModelHelper.CriarSelectList(_bus.ObterListaUnidadeMedida()); vm.LstCultivar = ViewModelHelper.CriarSelectList(new List <Lista>()); vm.UnidadeConsolidacao = caracterizacao; vm.UnidadeConsolidacao.Empreendimento = _caracterizacaoBus.ObterEmpreendimentoSimplificado(id); UnidadeConsolidacaoInternoBus internoBus = new UnidadeConsolidacaoInternoBus(); UnidadeConsolidacao caracterizacaoInterno = internoBus.ObterPorEmpreendimento(vm.UnidadeConsolidacao.Empreendimento.InternoID, true); if (caracterizacaoInterno.Id > 0) { vm.UnidadeConsolidacao.CodigoUC = caracterizacaoInterno.CodigoUC; vm.UnidadeConsolidacao.PossuiCodigoUC = caracterizacaoInterno.PossuiCodigoUC; vm.FoiCopiada = true; } return(View(vm)); }
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 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 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); }