private List <Task> ExportaListaPrazos(Guid userGuid, List <Prazo> prazos) { var returnList = new List <Task>(); if (prazos.Count == 0) { return(returnList); } var group = prazos.GroupBy(x => x.IdProcesso); foreach (var grupoPrazos in group) { returnList.Add(_exportService.ExportarPrazos(userGuid, grupoPrazos.ToList(), grupoPrazos.FirstOrDefault().Processo.IdDefinitivo.Value)); grupoPrazos.ToList().ForEach(x => { x.Exportado = true; x.SubTarefas.ForEach(y => y.Exportado = true); returnList.Add(_prazoRepositorio.MarcarExportado(x, userGuid)); }); } return(returnList); }
public async Task <ExportAtividadesResponse> ExportarAtividades(Guid userGuid, List <int> idAudiencias, List <int> idPrazos) { ExportAtividadesResponse retorno = new ExportAtividadesResponse(); var audienciasTask = await _compromissoAudienciaRepositorio.Listar(idAudiencias); var prazosTask = await _prazoRepositorio.Listar(idPrazos); if (audienciasTask.Count > 0) { PreencheListaAudiencia(audienciasTask); var group = audienciasTask.GroupBy(x => x.IdProcesso); foreach (var grupoAudiencias in group) { var aud = await _exportService.ExportarAudiencias(userGuid, grupoAudiencias.ToList(), grupoAudiencias.FirstOrDefault().Processo.IdDefinitivo.Value); foreach (var item in aud.Atividades) { if (item.Exportado) { await _compromissoAudienciaRepositorio.MarcarExportadoAsync(_mapper.Map <Audiencia>(item.Tarefa), userGuid); AtividadeResponse response = new AtividadeResponse { Tarefa = item.Tarefa, Exportado = item.Exportado }; retorno.Atividades.Add(response); } else { AtividadeResponse response = new AtividadeResponse { Tarefa = item.Tarefa, Exportado = item.Exportado }; retorno.Atividades.Add(response); } } } } if (prazosTask.Count > 0) { var group = prazosTask.GroupBy(x => x.IdProcesso); foreach (var grupoPrazos in group) { var aud = await _exportService.ExportarPrazos(userGuid, grupoPrazos.ToList(), grupoPrazos.FirstOrDefault().Processo.IdDefinitivo.Value); foreach (var item in aud.Atividades) { if (item.Exportado) { await _prazoRepositorio.MarcarExportado(_mapper.Map <Prazo>(item.Tarefa), userGuid); AtividadeResponse response = new AtividadeResponse { Tarefa = item.Tarefa, Exportado = item.Exportado }; retorno.Atividades.Add(response); } else { AtividadeResponse response = new AtividadeResponse { Tarefa = item.Tarefa, Exportado = item.Exportado }; retorno.Atividades.Add(response); } } } } return(retorno); }