public List <Roteiro> ObterRequerimentoRoteiros(int requerimentoId, int situacao, BancoDeDados banco = null, List <Atividade> atividades = null) { List <Roteiro> roteiros = new List <Roteiro>(); if (situacao == 3) //Protocolado { roteiros = _da.ObterRequerimentoRoteirosHistorico(requerimentoId, situacao, banco); } else { roteiros = _roteiroBus.ObterRoteirosPorAtividades(atividades ?? _da.Obter(requerimentoId, banco).Atividades); } roteiros = roteiros.GroupBy(x => x.Id).Select(y => new Roteiro { Id = y.First().Id, Nome = y.First().Nome, VersaoAtual = y.First().VersaoAtual, Tid = y.First().Tid, AtividadeTexto = y.Select(w => w.AtividadeTexto).Distinct().Aggregate((total, atual) => total + " / " + atual) }).ToList(); return(roteiros); }