public async Task <ExportCasoResponse> ExportarProcesso(Guid userGuid, int id) { var retorno = new ExportCasoResponse(); var processoCompleto = await _processoRepositorio.ListarCompleto(id); ProcessoBase processoCadastrado; try { processoCompleto.ValidarParaExportacao(); } catch (InvalidDataException ex) { //loggar erro throw ex; } try { processoCadastrado = await _exportService.ExportarCaso(userGuid, processoCompleto); processoCadastrado.DefinirUpdate(TipoUpdateEnum.Exportado); var camposComplementaresTask = _exportService.ExportarDadosComplementaresDoProcesso(userGuid, processoCompleto.CamposComplementares, processoCompleto.IdDefinitivo.Value); await Task.WhenAll(camposComplementaresTask); retorno.Tarefas = await ExportarAtividadesDoCaso(userGuid, processoCompleto); var atualizarProcessoTask = await _processoRepositorio.Atualizar(processoCadastrado, userGuid); retorno.Processo = atualizarProcessoTask; return(retorno); } catch (Exception ex) { var errors = new List <string>(); if (ex.Message.Contains("CPF")) { errors.Add("CPF da parte inválido. Por favor, revise a lista de envolvidos do caso."); throw new InvalidDataException(errors); } if (ex.Message.Contains("CNPJ")) { errors.Add("CNPJ da parte inválido. Por favor, revise a lista de envolvidos do caso."); throw new InvalidDataException(errors); } //loggar erro throw ex; } }
public async Task ExportarProcesso(Guid userGuid, int id) { var processoCompleto = await _processoRepositorio.ListarCompleto(id); var processoCadastrado = await _exportService.ExportarCaso(userGuid, processoCompleto); processoCadastrado.DefinirUpdate(TipoUpdateEnum.Exportado); var atualizarProcessoTask = _processoRepositorio.Atualizar(processoCadastrado, userGuid); var camposComplementaresTask = _exportService.ExportarDadosComplementaresDoProcesso(userGuid, processoCompleto.CamposComplementares, processoCompleto.IdDefinitivo.Value); var atividadesTask = ExportarAtividadesDoCaso(userGuid, processoCompleto); await Task.WhenAll(atualizarProcessoTask, camposComplementaresTask, atividadesTask); }