public void Destinatario(int protocolo, List <DestinatarioEspecificidade> destinatarios, string campo = "ddlDestinatarioEsp") { if (destinatarios == null || destinatarios.Count == 0 || destinatarios.Any(x => x.Id == 0)) { Validacao.Add(Mensagem.Especificidade.DestinatarioObrigatorio(campo)); return; } List <PessoaLst> lstDestinatarios = _da.ObterInteressados(protocolo); destinatarios.ForEach(x => { if (!lstDestinatarios.Any(des => des.Id == x.Id)) { Validacao.Add(Mensagem.Especificidade.DestinatarioDesassociado(campo, x.Nome)); } }); }
public bool Salvar(IEspecificidade especificidade) { TermoCPFARLDa _da = new TermoCPFARLDa(); EspecificidadeDa _daEspecificidade = new EspecificidadeDa(); DominialidadeDa _daDominialidade = new DominialidadeDa(); CaracterizacaoBus caracterizacaoBus = new CaracterizacaoBus(); CaracterizacaoValidar caracterizacaoValidar = new CaracterizacaoValidar(); List <Dependencia> dependencias = new List <Dependencia>(); TermoCPFARL esp = especificidade as TermoCPFARL; List <Caracterizacao> caracterizacoes = caracterizacaoBus.ObterCaracterizacoesEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault()); List <PessoaLst> destinatarios = _daEspecificidade.ObterInteressados(esp.ProtocoloReq.Id); List <ReservaLegal> reservas; int idCaracterizacao; int tipo; RequerimentoAtividade(esp); if (esp.Atividades[0].Id != ConfiguracaoAtividade.ObterId((int)eAtividadeCodigo.ReservaLegal)) { Validacao.Add(Mensagem.TermoCPFARLMsg.AtividadeInvalida(esp.Atividades[0].NomeAtividade)); } if (esp.Destinatarios.Count == 0) { Validacao.Add(Mensagem.Especificidade.DestinatarioObrigatorio("Termo_Destinatario")); } else { esp.Destinatarios.ForEach(x => { if (destinatarios.SingleOrDefault(y => y.Id == x.Id) == null) { Validacao.Add(Mensagem.Especificidade.DestinatarioDesassociado("Termo_Destinatario", x.Nome)); } else { tipo = _daEspecificidade.ObterDadosPessoa(x.Id).Tipo; if (tipo == 3 || tipo == 4) { Validacao.Add(Mensagem.TermoCPFARLMsg.DestinatarioNaoPermitido); } } }); } idCaracterizacao = caracterizacaoBus.Existe(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), eCaracterizacao.Dominialidade); if (idCaracterizacao > 0) { dependencias = caracterizacaoBus.ObterDependencias(idCaracterizacao, eCaracterizacao.Dominialidade, eCaracterizacaoDependenciaTipo.Caracterizacao); if (caracterizacaoValidar.DependenciasAlteradas(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), (int)eCaracterizacao.Dominialidade, eCaracterizacaoDependenciaTipo.Caracterizacao, dependencias) != String.Empty) { Validacao.Add(Mensagem.TermoCPFARLMsg.CaracterizacaoDeveEstarValida(caracterizacoes.Single(x => x.Tipo == eCaracterizacao.Dominialidade).Nome)); } else { reservas = new List <ReservaLegal>(); Dominialidade dominialidade = _daDominialidade.ObterPorEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(0)); dominialidade.Dominios.ForEach(x => { x.ReservasLegais.ForEach(reserva => { reservas.Add(reserva); }); }); if (reservas == null || reservas.Count == 0) { Validacao.Add(Mensagem.TermoCPFARLMsg.ArlInexistente); } else { if (reservas.Exists(x => x.SituacaoVegetalId == (int)eReservaLegalSituacaoVegetal.NaoCaracterizada || x.SituacaoVegetalId == (int)eReservaLegalSituacaoVegetal.EmUso)) { Validacao.Add(Mensagem.TermoCPFARLMsg.ARLSituacaoVegetalInvalida); } if (reservas.Exists(x => x.SituacaoId != (int)eReservaLegalSituacao.Proposta)) { Validacao.Add(Mensagem.TermoCPFARLMsg.DominioSituacaoInvalida); } if (reservas.Exists(x => x.LocalizacaoId == (int)eReservaLegalLocalizacao.CompensacaoMatriculaCedente || x.LocalizacaoId == (int)eReservaLegalLocalizacao.CompensacaoMatriculaReceptora || x.LocalizacaoId == (int)eReservaLegalLocalizacao.CompensacaoEmpreendimentoCedente || x.LocalizacaoId == (int)eReservaLegalLocalizacao.CompensacaoEmpreendimentoReceptora)) { Validacao.Add(Mensagem.TermoCPFARLMsg.LocalizacaoInvalida); } } } } else { Validacao.Add(Mensagem.TermoCPFARLMsg.DominialidadeInexistente); } return(Validacao.EhValido); }
public bool Salvar(IEspecificidade especificidade) { OutrosConclusaoTransferenciaDominio esp = especificidade as OutrosConclusaoTransferenciaDominio; if (esp.Destinatarios.Count < 1) { Validacao.Add(Mensagem.Especificidade.DestinatarioObrigatorio("ddlDestinatarios")); } if (esp.Responsaveis.Count < 1) { Validacao.Add(Mensagem.Especificidade.ResponsavelObrigatorio("ddlResponsaveis")); } if (esp.Interessados.Count < 1) { Validacao.Add(Mensagem.Especificidade.InteressadoObrigatorio("ddlInteressados")); } List <PessoaEspecificidade> lstValida = null; esp.Destinatarios.ForEach(x => { lstValida = new List <PessoaEspecificidade>(); lstValida.AddRange(esp.Destinatarios.Where(y => x.Id == y.Id).ToList()); if (lstValida.Count > 1) { Validacao.Add(Mensagem.Especificidade.DestinatarioJaAdicionado); } }); esp.Interessados.ForEach(x => { lstValida = new List <PessoaEspecificidade>(); lstValida.AddRange(esp.Interessados.Where(y => x.Id == y.Id).ToList()); if (lstValida.Count > 1) { Validacao.Add(Mensagem.Especificidade.InteressadoJaAdicionado); } }); esp.Responsaveis.ForEach(x => { lstValida = new List <PessoaEspecificidade>(); lstValida.AddRange(esp.Responsaveis.Where(y => x.Id == y.Id).ToList()); if (lstValida.Count > 1) { Validacao.Add(Mensagem.Especificidade.ResponsavelJaAdicionado); } }); foreach (PessoaEspecificidade pessoa in esp.Responsaveis) { for (int i = 0; i < esp.Interessados.Count; i++) { if (esp.Interessados[i].Id == pessoa.Id) { Validacao.Add(new EspecificidadeMsg().InteressadoIgualResponsavel); return(Validacao.EhValido); } } } #region Verificar lista de pessoas desassociadas List <PessoaEspecificidade> destinatarios = PessoasDesassociadas(esp.Destinatarios, _daEspecificidade.ObterInteressados(esp.ProtocoloReq.Id)); List <PessoaEspecificidade> responsaveis = PessoasDesassociadas(esp.Responsaveis, _daEspecificidade.ObterEmpreendimentoResponsaveis(esp.Titulo.EmpreendimentoId.GetValueOrDefault())); List <PessoaEspecificidade> interessados = PessoasDesassociadas(esp.Interessados, _daEspecificidade.ObterInteressados(esp.ProtocoloReq.Id)); if (destinatarios.Count > 0) { Validacao.Add(Mensagem.Especificidade.DestinatarioNaoAssociadoMais(Mensagem.Concatenar(destinatarios.Select(x => x.Nome).ToList()))); } if (responsaveis.Count > 0) { Validacao.Add(Mensagem.Especificidade.ResponsavelNaoAssociadoMais(Mensagem.Concatenar(responsaveis.Select(x => x.Nome).ToList()))); } if (interessados.Count > 0) { Validacao.Add(Mensagem.Especificidade.InteressadoNaoAssociadoMais(Mensagem.Concatenar(interessados.Select(x => x.Nome).ToList()))); } #endregion RequerimentoAtividade(esp); return(Validacao.EhValido); }