public async Task <bool> Executar(MensagemRabbit mensagemRabbit) { if (mensagemRabbit?.Mensagem is null) { throw new NegocioException("Não foi possível processaor o curso GSA. A mensagem enviada é inválida."); } var cursoGsaDto = JsonConvert.DeserializeObject <CursoGsaDto>(mensagemRabbit.Mensagem.ToString()); if (cursoGsaDto is null) { throw new NegocioException("Não foi possível processaor o curso GSA. A mensagem enviada é inválida."); } var cursoGoogle = await mediator.Send(new ObterCursoGooglePorIdQuery(cursoGsaDto.Id)); var cursoInseridoManualmente = cursoGoogle is null; var cursoGsa = new CursoGsa(cursoGsaDto.Id, cursoGsaDto.Nome, cursoGsaDto.Secao, cursoGsaDto.CriadorId, cursoGsaDto.Descricao, cursoInseridoManualmente, cursoGsaDto.DataInclusao); var retorno = await mediator.Send(new InserirCursoGsaCommand(cursoGsa)); if (cursoGsaDto.UltimoItemDaFila) { await IniciarValidacaoAsync(); } await InicarCargaUsuariosDoCursoAsync(cursoGsaDto); return(retorno); }
public async Task <int> SalvarAsync(CursoGsa cursoGsa) { try { const string insertQuery = @"insert into public.cursos_gsa (id, nome, secao, criador_id, descricao, data_inclusao, inserido_manualmente_google) values (@id, @nome, @secao, @criadorId, @descricao, @dataInclusao, @inseridoManualmenteGoogle)"; var parametros = new { id = cursoGsa.Id, nome = cursoGsa.Nome, secao = cursoGsa.Secao, criadorId = cursoGsa.CriadorId, descricao = cursoGsa.Descricao, inseridoManualmenteGoogle = cursoGsa.InseridoManualmenteGoogle, dataInclusao = cursoGsa.DataInclusao }; using var conn = ObterConexao(); return(await conn.ExecuteAsync(insertQuery, parametros)); } catch (Exception ex) { throw ex; } }
private async Task InserirCursoGsa(string salaVirtual, long cursoGoogleId) { var cursoGsa = await mediator.Send(new ObterCursoGsaPorNomeQuery(salaVirtual)); if (cursoGsa == null) { var inserirCursoGsa = new CursoGsa(cursoGoogleId, salaVirtual, ConstanteFormacaoCidade.PREFIXO_SALA_VIRTUAL, ConstanteFormacaoCidade.CRIADOR, ConstanteFormacaoCidade.DESCRICAO, true, DateTime.Now); await mediator.Send(new InserirCursoGsaCommand(inserirCursoGsa)); } }
public InserirCursoGsaCommand(CursoGsa cursoGsa) { CursoGsa = cursoGsa; }