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); }
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); }