internal bool Salvar(IEnumerable <ExploracaoFlorestal> exploracoes) { foreach (var caracterizacao in exploracoes) { if (!_caracterizacaoValidar.Basicas(caracterizacao.EmpreendimentoId)) { return(false); } if (!Acessar(caracterizacao.EmpreendimentoId)) { return(false); } if (caracterizacao.TipoExploracao <= 0) { Validacao.Add(Mensagem.ExploracaoFlorestal.ExploracaoTipoObrigatorio); } foreach (ExploracaoFlorestalExploracao item in caracterizacao.Exploracoes) { if (item.GeometriaTipoId == (int)eExploracaoFlorestalGeometria.Poligono) { if (!String.IsNullOrWhiteSpace(item.AreaRequeridaTexto)) { if (!ValidacoesGenericasBus.ValidarDecimal(DecimalEtx.ClearMask(item.AreaRequeridaTexto), 8, 2)) { Validacao.Add(Mensagem.ExploracaoFlorestal.AreaRequiridaInvalida(item.Identificacao)); } else if (item.AreaRequerida <= 0) { Validacao.Add(Mensagem.ExploracaoFlorestal.AreaRequiridaMaiorZero(item.Identificacao)); } } else { Validacao.Add(Mensagem.ExploracaoFlorestal.AreaRequiridaObrigatoria(item.Identificacao)); } } else { if (item.GeometriaTipoId == (int)eExploracaoFlorestalGeometria.Ponto || item.GeometriaTipoId == (int)eExploracaoFlorestalGeometria.Linha) { #region Arvores Requeridas if (!String.IsNullOrWhiteSpace(item.ArvoresRequeridas)) { if (Convert.ToDecimal(item.ArvoresRequeridas) <= 0) { Validacao.Add(Mensagem.ExploracaoFlorestal.ArvoresRequeridasMaiorZero(item.Identificacao)); } } else { Validacao.Add(Mensagem.ExploracaoFlorestal.ArvoresRequeridasObrigatoria(item.Identificacao)); } #endregion #region Numero de Arvores if (!String.IsNullOrWhiteSpace(item.QuantidadeArvores)) { bool existeProdutoSemRendimento = item.Produtos.Where(x => x.ProdutoId == (int)eProduto.SemRendimento).ToList().Count() > 0; if (!existeProdutoSemRendimento && (item.ParecerFavoravel ?? false)) { if (Convert.ToInt32(item.QuantidadeArvores) <= 0) { Validacao.Add(Mensagem.ExploracaoFlorestal.QdeArvoresRequeridasMaiorZero(item.Identificacao)); } } } else { Validacao.Add(Mensagem.ExploracaoFlorestal.QdeArvoresRequeridasObrigatoria(item.Identificacao)); } #endregion } } if (item.FinalidadeExploracao <= 0) { Validacao.Add(Mensagem.ExploracaoFlorestal.FinalidadeExploracaoObrigatorio); } else { if (item.FinalidadeExploracao == (int)eExploracaoFlorestalFinalidade.Outros && String.IsNullOrWhiteSpace(item.FinalidadeEspecificar)) { Validacao.Add(Mensagem.ExploracaoFlorestal.FinalidadeExploracaoEspecificarObrigatorio(item.Identificacao)); } } if (item.ClassificacaoVegetacaoId <= 0) { Validacao.Add(Mensagem.ExploracaoFlorestal.ClassificacaoVegetacaoObrigatoria(item.Identificacao)); } if (item.ParecerFavoravel == null) { Validacao.Add(Mensagem.ExploracaoFlorestal.ParecerFavoravelObrigatorio(item.Identificacao)); } if (Convert.ToBoolean(item.ParecerFavoravel)) { if (item.Produtos.Count == 0) { Validacao.Add(Mensagem.ExploracaoFlorestal.ProdutoObrigatorio(item.Identificacao)); } else { foreach (ExploracaoFlorestalProduto produto in item.Produtos) { if (produto.ProdutoId == (int)eProduto.SemRendimento) { continue; } if (!String.IsNullOrWhiteSpace(produto.Quantidade)) { if (!ValidacoesGenericasBus.ValidarDecimal(DecimalEtx.ClearMask(produto.Quantidade), 8, 2)) { Validacao.Add(Mensagem.Dominialidade.AreaInvalida("exploracao" + item.Identificacao, "Quantidade")); } else if (DecimalEtx.ToDecimalMask(produto.Quantidade).GetValueOrDefault() <= 0) { Validacao.Add(Mensagem.Dominialidade.AreaMaiorZero("exploracao" + item.Identificacao, "Quantidade")); } } else { Validacao.Add(Mensagem.Dominialidade.AreaObrigatoria("exploracao" + item.Identificacao, "Quantidade")); } } } } } } return(Validacao.EhValido); }
public bool DominioSalvar(Dominio dominio) { switch (dominio.Tipo) { case eDominioTipo.Matricula: #region Matricula if (String.IsNullOrWhiteSpace(dominio.Matricula)) { Validacao.Add(Mensagem.Dominialidade.DominioMatriculaObrigatorio); } if (String.IsNullOrWhiteSpace(dominio.Folha)) { Validacao.Add(Mensagem.Dominialidade.DominioFolhaObrigatorio); } if (String.IsNullOrWhiteSpace(dominio.Livro)) { Validacao.Add(Mensagem.Dominialidade.DominioLivroObrigatorio); } if (String.IsNullOrWhiteSpace(dominio.Cartorio)) { Validacao.Add(Mensagem.Dominialidade.DominioCartorioObrigatorio); } break; #endregion case eDominioTipo.Posse: #region Posse if (dominio.ComprovacaoId <= 0) { Validacao.Add(Mensagem.Dominialidade.DominioComprovacaoObrigatorio); } if (dominio.ComprovacaoId != (int)eDominioComprovacao.PosseiroPrimitivo) { if (dominio.ComprovacaoId != (int)eDominioComprovacao.Recibo && dominio.ComprovacaoId != (int)eDominioComprovacao.CertidaoPrefeitura && dominio.ComprovacaoId != (int)eDominioComprovacao.ContratoCompraVenda && dominio.ComprovacaoId != (int)eDominioComprovacao.Declaracao && dominio.ComprovacaoId != (int)eDominioComprovacao.Outros && dominio.ComprovacaoId != (int)eDominioComprovacao.CertificadoCadastroImovelRuralCCIR) { if (String.IsNullOrWhiteSpace(dominio.DescricaoComprovacao)) { Validacao.Add(Mensagem.Dominialidade.RegistroObrigatorio); } } } break; #endregion } if (dominio.Tipo == eDominioTipo.Matricula || dominio.ComprovacaoId != (int)eDominioComprovacao.PosseiroPrimitivo) { if (!String.IsNullOrWhiteSpace(dominio.AreaDocumentoTexto)) { if (!ValidacoesGenericasBus.ValidarDecimal(DecimalEtx.ClearMask(dominio.AreaDocumentoTexto), 13, 2)) { Validacao.Add(Mensagem.Dominialidade.AreaInvalida("DominioAreaDocumento", "Área " + ((dominio.Tipo == eDominioTipo.Matricula) ? "Matrícula" : "Posse") + " Documento")); } else if (DecimalEtx.ToDecimalMask(dominio.AreaDocumentoTexto).GetValueOrDefault() <= 0) { Validacao.Add(Mensagem.Dominialidade.AreaMaiorZero("DominioAreaDocumento", "Área " + ((dominio.Tipo == eDominioTipo.Matricula) ? "Matrícula" : "Posse") + " Documento")); } } else { Validacao.Add(Mensagem.Dominialidade.AreaObrigatoria("DominioAreaDocumento", "Área " + ((dominio.Tipo == eDominioTipo.Matricula) ? "Matrícula" : "Posse") + " Documento")); } } #region Empreendimento com localizacao Zona Rural if (!dominio.DataUltimaAtualizacao.IsEmpty) { ValidacoesGenericasBus.DataMensagem(dominio.DataUltimaAtualizacao, "DominioDataUltimaAtualizacao_DataTexto", "última atualização"); } #endregion if (dominio.ReservasLegais == null || dominio.ReservasLegais.Count <= 0) { Validacao.Add(Mensagem.Dominialidade.ReservaLegalObrigatoria); } if (dominio.ReservasLegais.Exists(x => x.SituacaoId == (int)eReservaLegalSituacao.NaoInformada) && dominio.ReservasLegais.Exists(x => x.SituacaoId == (int)eReservaLegalSituacao.Proposta || x.SituacaoId == (int)eReservaLegalSituacao.Registrada)) { Validacao.Add(Mensagem.Dominialidade.ReservaLegalNaoInformadaDeclarada); } string prefixo = "Dominio"; if (String.IsNullOrWhiteSpace(dominio.ConfrontacaoNorte)) { Validacao.Add(Mensagem.Dominialidade.ConfrontacaoNorteObrigatorio(prefixo)); } if (String.IsNullOrWhiteSpace(dominio.ConfrontacaoSul)) { Validacao.Add(Mensagem.Dominialidade.ConfrontacaoSulObrigatorio(prefixo)); } if (String.IsNullOrWhiteSpace(dominio.ConfrontacaoLeste)) { Validacao.Add(Mensagem.Dominialidade.ConfrontacaoLesteObrigatorio(prefixo)); } if (String.IsNullOrWhiteSpace(dominio.ConfrontacaoOeste)) { Validacao.Add(Mensagem.Dominialidade.ConfrontacaoOesteObrigatorio(prefixo)); } return(Validacao.EhValido); }