示例#1
0
        public List <UsoAtualSolo> ObterUsoAtualSoloPosseDominialidade(int empreendimento, string strItendificacao, BancoDeDados banco = null)
        {
            List <UsoAtualSolo> list      = new List <UsoAtualSolo>();
            List <AreaGeo>      listGeo   = new List <AreaGeo>();
            AreaGeo             areaTotal = null;

            listGeo = _da.ObterUsoAtualSoloPosseDominialidade(empreendimento, strItendificacao, banco);

            areaTotal = listGeo.FirstOrDefault(x => x.Descricao == "Área Total Posse");

            listGeo.Remove(areaTotal);

            listGeo.ForEach(x =>
            {
                UsoAtualSolo usoAtualSolo    = new UsoAtualSolo();
                usoAtualSolo.TipoDeUsoGeo    = String.IsNullOrEmpty(x.SubTipo) ? x.Descricao : x.SubTipo;
                usoAtualSolo.AreaPorcentagem = Convert.ToInt32((x.AreaM2 * 100) / areaTotal.AreaM2);

                usoAtualSolo.TipoDeUso = TiposUsos.FirstOrDefault(y => String.Equals(y.TipoGeo, usoAtualSolo.TipoDeUsoGeo, StringComparison.InvariantCultureIgnoreCase)).Id;

                list.Add(usoAtualSolo);
            });

            return(list);
        }
示例#2
0
        public bool Salvar(RegularizacaoFundiaria caracterizacao)
        {
            try
            {
                if (_validar.Salvar(caracterizacao))
                {
                    caracterizacao.Posses.ForEach(x =>
                    {
                        x.UsoAtualSolo.ForEach(y =>
                        {
                            if (TiposUsos.Exists(uso => uso.Id == y.TipoDeUso))
                            {
                                y.TipoDeUsoGeo = TiposUsos.First(tiposusos => tiposusos.Id == y.TipoDeUso).TipoGeo;
                            }
                        });
                    });

                    GerenciadorTransacao.ObterIDAtual();

                    using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
                    {
                        bancoDeDados.IniciarTransacao();

                        _da.Salvar(caracterizacao, bancoDeDados);

                        #region Gerencia as dependências da caracterização

                        _busCaracterizacao.Dependencias(new Caracterizacao()
                        {
                            Id             = caracterizacao.Id,
                            Tipo           = eCaracterizacao.RegularizacaoFundiaria,
                            DependenteTipo = eCaracterizacaoDependenciaTipo.Caracterizacao,
                            Dependencias   = caracterizacao.Dependencias
                        }, bancoDeDados);

                        #endregion

                        Validacao.Add(Mensagem.RegularizacaoFundiaria.Salvar);

                        bancoDeDados.Commit();
                    }
                }
            }
            catch (Exception e)
            {
                Validacao.AddErro(e);
            }

            return(Validacao.EhValido);
        }