public async Task MessageReceivedAsync(IDialogContext context, IAwaitable <IMessageActivity> argument) { var saudacao = _saudacaoService.RecuperaSaudacaoSegundaria(); // SalvaFluxoMensagem(argument.GetAwaiter().GetResult(), new FluxoMensagemDTO {Texto = "Teste 123 ", Tipo = Enums.TipoFaseBot.Saudacao }); await context.PostAsync(saudacao.Texto); context.Wait(MessageReceivedAsync); }
private async Task <FluxoMensagemDTO> RecuperaFluxoRetorno(FluxoMensagemDTO fluxoAtual, Activity activity) { var fluxoRetorno = fluxoAtual; switch (fluxoAtual.TipoFaseBot) { case TipoFaseBot.Saudacao: fluxoRetorno = new FluxoMensagemDTO { Texto = _saudacaoService.RecuperaSaudacaoSegundaria().Texto, TipoFaseBot = fluxoAtual.TipoFaseBot }; break; case TipoFaseBot.FluxoDuvidas: fluxoRetorno = _fluxoDuvidasService.RecuperaPassoAhPassoDuvida(fluxoAtual); break; case TipoFaseBot.AcompanhamentoDiario: break; case TipoFaseBot.FluxoDeclaracaoSimplificada: string pathArquivo = ""; if (activity.Attachments != null) { pathArquivo = activity.Attachments[0].ContentUrl; } if (fluxoRetorno.TipoFasePasso_1.HasValue && fluxoRetorno.TipoFasePasso_1 == TipoFasePassoAhPasso.Fase_2 && !string.IsNullOrEmpty(pathArquivo)) { var aa = await _ocr.GetDocumentData(pathArquivo); fluxoAtual.Texto = aa; fluxoAtual.TipoFasePasso_1 = TipoFasePassoAhPasso.Fase_3; } else { fluxoRetorno = _fluxoDeclSimplificadaService.RecuperaFluxoDeclSimplificada(fluxoAtual, pathArquivo); } break; case TipoFaseBot.OhQueNaoSouber: fluxoRetorno.TipoFaseBot = fluxoAtual.TipoFaseBotAnterior; fluxoRetorno.TipoFasePasso_1 = TipoFasePassoAhPasso.Fase_1; break; case TipoFaseBot.FluxoFinalizacao: fluxoRetorno.Texto = _fluxoFinalizacaoService.MensagemDeFinalizacao(); break; case TipoFaseBot.FluxoErro: fluxoRetorno = _fluxoErroService.MontaErro(fluxoAtual); break; } return(fluxoRetorno); }