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