示例#1
0
 public SilviculturaATVCaracteristicaVM(SilviculturaCaracteristicaATV caracterizacao, List <Lista> tipoCobertura, List <Lista> tipoGeometria, List <Lista> tipoFomento, bool isVisualizar = false)
 {
     Caracterizacao = caracterizacao;
     IsVisualizar   = isVisualizar;
     TipoCobertura  = ViewModelHelper.CriarSelectList(tipoCobertura, true, true);
     GeometriaTipo  = ViewModelHelper.CriarSelectList(tipoGeometria, true, true, caracterizacao.GeometriaTipo.ToString());
     FomentoTipo    = ViewModelHelper.CriarSelectList(tipoFomento, true, true, Convert.ToInt32(caracterizacao.Fomento).ToString());
     FomentoTipo    = FomentoTipo.Where(x => x.Value != "0").ToList();
 }
示例#2
0
        public SilviculturaATV MergiarGeo(SilviculturaATV caracterizacaoAtual)
        {
            SilviculturaATV dadosGeo = ObterDadosGeo(caracterizacaoAtual.EmpreendimentoId);

            caracterizacaoAtual.Dependencias = _busCaracterizacao.ObterDependenciasAtual(caracterizacaoAtual.EmpreendimentoId, eCaracterizacao.SilviculturaATV, eCaracterizacaoDependenciaTipo.Caracterizacao);

            decimal totalFloresta = 0;

            caracterizacaoAtual.Areas.ForEach(x =>
            {
                if (x.Tipo != (int)eSilviculturaAreaATV.DECLIVIDADE &&
                    x.Tipo != (int)eSilviculturaAreaATV.AA_FOMENTO &&
                    x.Tipo != (int)eSilviculturaAreaATV.AA_PLANTIO)
                {
                    x.Valor      = dadosGeo.Areas.Find(z => z.Tipo == x.Tipo).Valor;
                    x.ValorTexto = x.Valor.ToStringTrunc();
                }

                if (x.Tipo == (int)eSilviculturaAreaATV.AVN ||
                    x.Tipo == (int)eSilviculturaAreaATV.AA_PLANTIO ||
                    x.Tipo == (int)eSilviculturaAreaATV.AA_FLORESTA_PLANTADA)
                {
                    totalFloresta += x.Valor;
                }
            });

            caracterizacaoAtual.Areas.Find(x => x.Tipo == (int)eSilviculturaAreaATV.AA_TOTAL_FLORESTA).Valor      = totalFloresta;
            caracterizacaoAtual.Areas.Find(x => x.Tipo == (int)eSilviculturaAreaATV.AA_TOTAL_FLORESTA).ValorTexto = totalFloresta.ToStringTrunc();

            foreach (SilviculturaCaracteristicaATV silvicultura in dadosGeo.Caracteristicas)
            {
                if (!caracterizacaoAtual.Caracteristicas.Exists(x => x.Identificacao == silvicultura.Identificacao))
                {
                    caracterizacaoAtual.Caracteristicas.Add(silvicultura);
                }
            }

            List <SilviculturaCaracteristicaATV> silviculturasRemover = new List <SilviculturaCaracteristicaATV>();

            foreach (SilviculturaCaracteristicaATV silvicultura in caracterizacaoAtual.Caracteristicas)
            {
                if (!dadosGeo.Caracteristicas.Exists(x => x.Identificacao == silvicultura.Identificacao))
                {
                    silviculturasRemover.Add(silvicultura);
                    continue;
                }
                else
                {
                    SilviculturaCaracteristicaATV silviculturaAux = dadosGeo.Caracteristicas.SingleOrDefault(x => x.Identificacao == silvicultura.Identificacao) ?? new SilviculturaCaracteristicaATV();
                    silvicultura.Identificacao = silviculturaAux.Identificacao;
                    silvicultura.TotalCroqui   = silviculturaAux.TotalCroqui;
                }
            }

            foreach (SilviculturaCaracteristicaATV silvicultura in silviculturasRemover)
            {
                caracterizacaoAtual.Caracteristicas.Remove(silvicultura);
            }

            return(caracterizacaoAtual);
        }