public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; // Obtener el estado de la respuesta (*Saber si el bot pregunto sobre otra pregunta*) var estadoRespuesta = "EstadoRespuesta"; context.PrivateConversationData.TryGetValue <string>("EstadoRespuesta", out estadoRespuesta); Random rnd = new Random(); // Respuestas a negaciones que puede generar el bot string[] negacion = { "Espero poder ayudarle la prónxima vez, estoy dispinible las 24 horas del día", "Entiendo ,Espero poder ayudarle la prónxima vez", }; // Generate random indexes for negacion int mIndex = rnd.Next(0, negacion.Length); if (estadoRespuesta == "True") { // Display the result await context.PostAsync(negacion[mIndex]); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", "False"); return; } else if (estadoRespuesta == "False") { // Display the result reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync("Lo siento, acaso tienes una consulta?"); await context.PostAsync(reply); return; } else { // Display the result reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync("Lo siento, acaso tienes una consulta?"); await context.PostAsync(reply); return; } }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; // Obtener el estado de la respuesta (*Saber si el bot pregunto sobre otra pregunta*) var estadoRespuesta = "EstadoRespuesta"; context.PrivateConversationData.TryGetValue <string>("EstadoRespuesta", out estadoRespuesta); if (estadoRespuesta == "True") { // Display the result await context.PostAsync("Entonces, me podrías indicar cuál es tu pregunta"); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", "False"); return; } else if (estadoRespuesta == "False") { // Display the result reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync("Lo siento, acaso tienes una consulta?"); await context.PostAsync(reply); return; } else { // Display the result reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync("Perdón, no entiendo lo que necesitas \U0001F615?"); await context.PostAsync(reply); return; } }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Ver"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // -------------------------------------------------------------------- if (palabra1 == "lista" || palabra1 == "listas") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "mensajes" || palabra2 == "mensaje") { foreach (var entityP3 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra3")) { var palabra3 = entityP3.Entity.ToLower().Replace(" ", ""); if (palabra3 == "conversación" || palabra3 == "conversaciones" || palabra3 == "conversacion") { reply.Attachments = RespuestasOutlook.GetVerMensajesCorreoElectronicoConversacion(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetVerMensajesCorreoElectronicoConversacion(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra3}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } reply.Attachments = RespuestasOutlook.GetVerMensajesCorreoElectronicoConversacion(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else { reply.Attachments = RespuestasOutlook.GetVerMensajesCorreoElectronicoConversacion(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta await context.PostAsync($"Quizás desea saber como ver mensajes de correo electrónico por conversación, tengo esto: "); reply.Attachments = RespuestasOutlook.GetVerMensajesCorreoElectronicoConversacion(); await context.PostAsync(reply); await context.PostAsync($"Caso contrario, la pregunta no se encuentra registrada o vuelva a escribir correctamente la pregunta."); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "mensajes" || palabra1 == "mensaje") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "conversación" || palabra2 == "conversacion") { reply.Attachments = RespuestasOutlook.GetVerMensajesCorreoElectronicoConversacion(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra2 == "desconocido" || palabra2 == "desconocidos" || palabra2 == "sinleer" || palabra2 == "noleido" || palabra2 == "noleído" || palabra2 == "noleidos" || palabra2 == "noleídos") { reply.Attachments = RespuestasOutlook.GetVerSoloMensajesNoLeidos(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetVerSoloMensajesNoLeidosYConversacion(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOutlook.GetVerSoloMensajesNoLeidosYConversacion(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "cuadrocco" || palabra1 == "copiacarbónoculta" || palabra1 == "copiacarbonoculta" || palabra1 == "cco" || palabra1 == "copiacarbón" || palabra1 == "copiacarbon") { reply.Attachments = RespuestasOutlook.GetMostrarOcultarVerCampoCopiaCarbonOculta(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "encabezado" || palabra1 == "encabezados") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "mensajes" || palabra2 == "mensaje") { reply.Attachments = RespuestasOutlook.GetVerEncabezadosMensajesCorreoElectronico(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetVerEncabezadosMensajesCorreoElectronico(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOutlook.GetVerEncabezadosMensajesCorreoElectronico(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "simultaneamente" || palabra1 == "simultáneamente") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "calendarios" || palabra2 == "calendario") { reply.Attachments = RespuestasOutlook.GetVerCalendarioSimultaneamente(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetVerCalendarioSimultaneamente(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOutlook.GetVerCalendarioSimultaneamente(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "tareas" || palabra1 == "tarea") { reply.Attachments = RespuestasOutlook.GetVerTareasOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "archivos" || palabra1 == "archivo") { reply.Attachments = RespuestasOneDrive.GetVerArchivosCompartidosOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "fórmula" || palabra1 == "formula" || palabra1 == "fórmulas" || palabra1 == "formulas") { reply.Attachments = RespuestasExcel.GetMostrarFormulas(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "cero" || palabra1 == "ceros") { reply.Attachments = RespuestasExcel.GetMostrarValoresCero(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "fila" || palabra1 == "filas" || palabra1 == "columna" || palabra1 == "columnas") { reply.Attachments = RespuestasExcel.GetMostrarFilasColumnas(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "hojas" || palabra1 == "hoja") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "cálculo" || palabra2 == "calculo") { reply.Attachments = RespuestasExcel.GetMostrarHojaCalculoOculta(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasExcel.GetMostrarHojaCalculoOculta(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasExcel.GetMostrarHojaCalculoOculta(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "línea" || palabra1 == "líneas" || palabra1 == "linea" || palabra1 == "lineas") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "cuadrícula" || palabra2 == "cuadricula" || palabra1 == "división" || palabra1 == "division") { reply.Attachments = RespuestasExcel.GetMostrarLineaCuadricula(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasExcel.GetMostrarLineaCuadricula(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasExcel.GetMostrarLineaCuadricula(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "número" || palabra1 == "números" || palabra1 == "numero" || palabra1 == "numeros") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "fecha" || palabra2 == "fechas" || palabra1 == "hora" || palabra1 == "horas") { reply.Attachments = RespuestasExcel.GetMostrarNumerosFechasHoras(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra2 == "moneda" || palabra2 == "monedas") { reply.Attachments = RespuestasExcel.GetMostrarNumerosMoneda(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasExcel.GetMostrarNumerosFechasHorasMonedas(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasExcel.GetMostrarNumerosFechasHorasMonedas(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "información" || palabra1 == "informacion") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "piedepágina" || palabra2 == "piedepagina" || palabra2 == "piesdepágina" || palabra2 == "piesdepagina") { reply.Attachments = RespuestasPowerPoint.GetMostrarInformacionPiePaginaDiapositiva(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasPowerPoint.GetMostrarInformacionPiePaginaDiapositiva(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasPowerPoint.GetMostrarInformacionPiePaginaDiapositiva(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else { reply.Attachments = RespuestasOutlook.GetVerTareasOutlook(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra1}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); return; } } // No se detectó la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Hacer"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); if (palabra1 == "cambio" || palabra1 == "cambios") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "documentoprotegido" || palabra2 == "documentosprotegidos") { reply.Attachments = RespuestasWord.GetPermitirCambiosDocumentoProtegido(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasWord.GetPermitirCambiosDocumentoProtegido(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasWord.GetPermitirCambiosDocumentoProtegido(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "seguimiento" || palabra1 == "seguimientos") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "cambios" || palabra2 == "cambio") { reply.Attachments = RespuestasWord.GetRealizarSeguimientoCambiosWord(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasWord.GetRealizarSeguimientoCambiosWord(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasWord.GetRealizarSeguimientoCambiosWord(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else { await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync($"O tal vez no escribió correctamente la palabra '{palabra1}'?"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } } // No se detectó la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Convertir"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "¿Tiene alguna otra consulta?"; // Recorrido de la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // ------------------------------------------------------------------- if (palabra1 == "documento" || palabra1 == "documentos" || palabra1 == "archivo" || palabra1 == "archivos") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "pdf") { reply.Attachments = RespuestasWord.GetEditarContenidoPdfWord(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasWord.GetEditarContenidoPdfWord(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasWord.GetEditarContenidoPdfWord(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "pdf") { reply.Attachments = RespuestasWord.GetEditarContenidoPdfWord(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "texto" || palabra1 == "textos") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "tabla" || palabra2 == "tablas") { reply.Attachments = RespuestasWord.GetConvertirTextoTabla(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasWord.GetConvertirTextoTabla(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasWord.GetConvertirTextoTabla(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "tabla" || palabra1 == "tablas") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "texto" || palabra2 == "textos") { reply.Attachments = RespuestasWord.GetConvertirTextoTabla(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasWord.GetConvertirTextoTabla(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasWord.GetConvertirTextoTabla(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else { await context.PostAsync($"Lo siento, su pregunta no esta registrada"); await context.PostAsync($"O tal vez no la escribió correctamente, ¿{palabra1}?"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } } // No se detectó la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Enviar"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; // Recorrido de la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // ------------------------------------------------------------------- if (palabra1 == "correoelectrónico" || palabra1 == "correoelectronico" || palabra1 == "correoselectrónicos" || palabra1 == "correoselectronicos" || palabra1 == "correos" || palabra1 == "correo" || palabra1 == "mensajes" || palabra1 == "mensaje") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "plantillas" || palabra2 == "plantillas") { reply.Attachments = RespuestasOutlook.GetEnviarMensajeBasadoPlantilla(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra2 == "lista" || palabra2 == "listas" || palabra2 == "grupo" || palabra2 == "grupos") { reply.Attachments = RespuestasOutlook.GetEnviarMensajeGrupoContactos(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra2 == "reunión" || palabra2 == "reunion" || palabra2 == "reuniones") { reply.Attachments = RespuestasOutlook.GetReenviarReuniónOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetEnviarRespuestasIntencio2(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se dtecto la segunda parte de la pregunta // Se detecto el Adverbio de la pregunta foreach (var adv in result.Entities.Where(Entity => Entity.Type == "Adverbio")) { var adverbio = adv.Entity.ToLower().Replace(" ", ""); if (adverbio == "no") { reply.Attachments = RespuestasOutlook.GetNoEnviarMensaje(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetNoEnviarMensaje(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } // No se detectó el adverbio de la pregunta reply.Attachments = RespuestasOutlook.GetReenviarYEnviarMensajeOutlook(); await context.PostAsync(confirmacionRespuesta2); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "respuestasautomaticas" || palabra1 == "respuestaautomatica" || palabra1 == "respuestasautomáticas" || palabra1 == "respuestaautomática" || palabra1 == "respuestasfuera" || palabra1 == "respuestafuera") { reply.Attachments = RespuestasOutlook.GetEnviarRespuestasAutomaticasFueraOficinaOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "reenviar" || palabra1 == "reenvío" || palabra1 == "reenvio") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "reunión" || palabra2 == "reunion" || palabra2 == "reuniones") { reply.Attachments = RespuestasOutlook.GetReenviarReuniónOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra2 == "correoelectrónico" || palabra2 == "correoelectronico" || palabra2 == "correoselectrónicos" || palabra2 == "correoselectronicos" || palabra2 == "correos" || palabra2 == "correo" || palabra2 == "mensajes" || palabra2 == "mensaje") { reply.Attachments = RespuestasOutlook.GetReenviarMensajeOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetReenviarReuniónOutlookYMensajeOutlook(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOutlook.GetReenviarReuniónOutlookYMensajeOutlook(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } else if (palabra1 == "imágen" || palabra1 == "imágenes" || palabra1 == "imagen" || palabra1 == "imagenes" || palabra1 == "fotos" || palabra1 == "foto") { // Recorrido del Servicio de la pregunta foreach (var entity in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var serv = entity.Entity.ToLower().Replace(" ", ""); if (serv == "onenote" || serv == "noenote" || serv == "note") { reply.Attachments = RespuestasOneNote.GetEnviarFotosImágenesDeOtrasAplicacionesOneNote(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOneNote.GetEnviarFotosImágenesDeOtrasAplicacionesOneNote(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, no se tiene registrado el servicio '{serv}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // Obtener el producto si este a sido escodigo anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoDeServicio", out servicio); if (servicio == "OneNote") { reply.Attachments = RespuestasOneNote.GetEnviarFotosImágenesDeOtrasAplicacionesOneNote(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "Servicio"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOneNote.GetEnviarFotosImágenesDeOtrasAplicacionesOneNote(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } else if (palabra1 == "documentos" || palabra1 == "documento" || palabra1 == "archivos" || palabra1 == "archivo") { // Recorrido del Servicio de la pregunta foreach (var entity in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var serv = entity.Entity.ToLower().Replace(" ", ""); if (serv == "onenote" || serv == "noenote" || serv == "note") { reply.Attachments = RespuestasOneNote.GetEnviarDocumentosArchivosOneNote(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOneNote.GetEnviarDocumentosArchivosOneNote(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, no se tiene registrado el servicio '{serv}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detecto el Servicio de la pregunta // Obtener el producto si este a sido escodigo anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoDeServicio", out servicio); if (servicio == "OneNote") { reply.Attachments = RespuestasOneNote.GetEnviarDocumentosArchivosOneNote(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "OneNote"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOneNote.GetEnviarDocumentosArchivosOneNote(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); } } else { await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync($"O tal vez no escribió correctamente la palabra '{palabra1}'?"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } } // No se detectó la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Recuperar"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; // Recorrido de la segunda parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // ------------------------------------------------------------------- // El usuario escribio en su pregunta la palabra elemento if (palabra1 == "elemento" || palabra1 == "elementos") { // Recorrido de la primera parte de la pregunta foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); // El usuario escribio en su pregunta la palabra eliminado if (palabra2 == "eliminado" || palabra2 == "eliminados") { reply.Attachments = RespuestasOutlook.GetRecuperarElementosEliminados(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetRecuperarElementosEliminados(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOutlook.GetRecuperarElementosEliminados(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } // El usuario escribio en su pregunta la palabra mensaje else if (palabra1 == "mensaje" || palabra1 == "mensajes" || palabra1 == "correo" || palabra1 == "correos") { // Recorrido de la primera parte de la pregunta foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "eliminado" || palabra2 == "eliminados" || palabra2 == "elimine" || palabra2 == "borrado" || palabra2 == "borrados") { reply.Attachments = RespuestasOutlook.GetRestaurarMensajeEliminados(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetRestaurarMensajeEliminados(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } reply.Attachments = RespuestasOutlook.GetRecuperarMensajeDespuésEnviarlo(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "archivo" || palabra1 == "archivos") { // Recorrido de la primera parte de la pregunta foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "eliminado" || palabra2 == "eliminados" || palabra2 == "elimine") { reply.Attachments = RespuestasOneDrive.GetRestaurarArchivosEliminados(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOneDrive.GetRestaurarArchivosEliminados(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } reply.Attachments = RespuestasOneDrive.GetRecuperarArchivosEquipo(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "carpetas" || palabra1 == "carpeta") { // Recorrido de la primera parte de la pregunta foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "eliminado" || palabra2 == "eliminados" || palabra2 == "elimine") { reply.Attachments = RespuestasOneDrive.GetRestaurarArchivosEliminados(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOneDrive.GetRestaurarArchivosEliminados(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOneDrive.GetRestaurarArchivosEliminados(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "versión" || palabra1 == "version") { // Recorrido de la primera parte de la pregunta foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "archivo" || palabra2 == "archivos") { reply.Attachments = RespuestasOneDrive.GetRestaurarVersionArchivoOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOneDrive.GetRestaurarVersionArchivoOneDrive(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOneDrive.GetRestaurarVersionArchivoOneDrive(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "cuenta" || palabra1 == "cuentas") { // Recuperar la cuenta de Microsoft reply.Attachments = Respuestas.GetRecuperarCuentaMicrosoft(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "contraseña" || palabra1 == "password") { // Recorrido de la segunda parte de la pregunta foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "cuenta" || palabra2 == "cuentas") { // Cómo restablecer la contraseña de tu cuenta de Microsoft reply.Attachments = Respuestas.GetRecuperarContraseñaMicrosoft(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { // Cómo restablecer la contraseña de tu cuenta de Microsoft reply.Attachments = Respuestas.GetRecuperarContraseñaMicrosoft(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // Cómo restablecer la contraseña de tu cuenta de Microsoft reply.Attachments = Respuestas.GetRecuperarContraseñaMicrosoft(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync($"O tal vez no escribió correctamente la palabra '{palabra1}'?"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); return; } } // No se detectó la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; var accion = "Mantener"; // Se guarda la accion escrita por el usuario context.PrivateConversationData.SetValue <string>("Accion", accion); string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; // Se detectó la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); // Se guarda la primera parte de la pregunta context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // --------------------------------------------------------------------- if (palabra1 == "cita" || palabra1 == "citas" || palabra1 == "reuniones" || palabra1 == "reunione") { reply.Attachments = RespuestasOutlook.GetMantenerCitasYReuniones(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetMantenerCitasYReuniones(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra1}'?"); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Importar"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; // Recorrido de la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // ------------------------------------------------------------------- if (palabra1 == "correodegmail" || palabra1 == "gmail" || palabra1 == "correogmail") { // Recorrido de la segunda parte de la pregunta foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "outlook") { reply.Attachments = RespuestasOutlook.GetImportarGmailOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetImportarGmailOutlook(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOutlook.GetImportarGmailOutlook(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "contactos" || palabra1 == "contacto") { // Recorrido del Servicio parte de la pregunta foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "outlook") { reply.Attachments = RespuestasOutlook.GetImportarContactosOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetImportarContactosOutlook(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // obtener el producto si este a sido escodigo anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoServicio", out servicio); if (servicio == "Outlook") { reply.Attachments = RespuestasOutlook.GetImportarContactosOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetImportarContactosOutlook(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, debe escribir un servicio."); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } else if (palabra1 == "dato" || palabra1 == "datos") { // Recorrido de la segunda parte de la pregunta foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "excel") { reply.Attachments = RespuestasExcel.GetImportarDatosExcel(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "Excel"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasExcel.GetImportarDatosExcel(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // obtener el producto si este a sido escodigo anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoServicio", out servicio); if (servicio == "Excel") { reply.Attachments = RespuestasExcel.GetImportarDatosExcel(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasExcel.GetImportarDatosExcel(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, debe escribir un servicio."); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } else if (palabra1 == "diapositiva" || palabra1 == "diapositivas") { reply.Attachments = RespuestasPowerPoint.GetImportarDiapositivasPresentacion(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync($"O tal vez no escribió correctamente la palabra '{palabra1}'?"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } } // No se detectó la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Editar"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; // Recorrido de la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // ------------------------------------------------------------------- if (palabra1 == "contacto" || palabra1 == "contactos") { reply.Attachments = RespuestasOutlook.GetEditarContactosOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "grupos" || palabra1 == "grupo") { // Recorrido de la segunda parte de la pregunta foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "contactos" || palabra2 == "contacto") { reply.Attachments = RespuestasOutlook.GetCrearGrupoContactosListaDistribucionOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetCrearGrupoContactosListaDistribucionOutlook(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOutlook.GetCrearGrupoContactosListaDistribucionOutlook(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "listas" || palabra1 == "lista") { // Recorrido de la segunda parte de la pregunta foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "distribucion" || palabra2 == "distribución") { reply.Attachments = RespuestasOutlook.GetCrearGrupoContactosListaDistribucionOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetCrearGrupoContactosListaDistribucionOutlook(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOutlook.GetCrearGrupoContactosListaDistribucionOutlook(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "imágenes" || palabra1 == "imágene" || palabra1 == "imagenes" || palabra1 == "imagene") { // Se detectó el Servico de la pregunta foreach (var serv in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var servicioU = serv.Entity.ToLower().Replace(" ", ""); if (servicioU == "onenote" || servicioU == "OneNote") { reply.Attachments = RespuestasOneNote.GetRevisarImegenAOneNote(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOneNote.GetRevisarImegenAOneNote(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{servicioU}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó el Servicio de la pregunta // Se obtiene el servicio que esta guardado en cache var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoServicio", out servicio); if (servicio == "OneNote") { reply.Attachments = RespuestasOneNote.GetRevisarImegenAOneNote(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "OneNote"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOneNote.GetRevisarImegenAOneNote(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } else if (palabra1 == "pdf") { reply.Attachments = RespuestasWord.GetEditarContenidoPdfWord(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "contenido") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "pdf") { reply.Attachments = RespuestasWord.GetEditarContenidoPdfWord(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasWord.GetEditarContenidoPdfWord(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasWord.GetEditarContenidoPdfWord(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "encabezados" || palabra1 == "encabezado" || palabra1 == "piedepágina" || palabra1 == "piedepagina" || palabra1 == "piesdepágina" || palabra1 == "piesdepagina") { reply.Attachments = RespuestasWord.GetModificarEncabezadoPiePagina(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { await context.PostAsync($"Lo siento, su pregunta no esta registrada"); await context.PostAsync($"O tal vez no la escribió correctamente, ¿{palabra1}?"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } } // No se detectó la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Sincronizar"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; // Recorrido de la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // ------------------------------------------------------------------- if (palabra1 == "contactos" || palabra1 == "contactos") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "iphone" || palabra2 == "ipod" || palabra2 == "ipodtouch" || palabra2 == "apple") { reply.Attachments = RespuestasOutlook.GetSincronizarContactosOutlookApple(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetSincronizarContactosOutlookApple(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOutlook.GetSincronizarContactosOutlookApple(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "carpetas" || palabra1 == "carpeta") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "documento" || palabra2 == "documentos") { reply.Attachments = RespuestasOneDrive.GetSincronizarCarpetaDocumentosOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOneDrive.GetSincronizarCarpetaDocumentosOneDrive(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOneDrive.GetSincronizarCarpetaDocumentosOneDrive(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "blocsdenotas" || palabra1 == "blocdenotas" || palabra1 == "bloc" || palabra1 == "blocs") { reply.Attachments = RespuestasOneNote.GetSincronizarBlocsNotasOneNote(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync($"O tal vez no escribió correctamente la palabra '{palabra1}'?"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); return; } } // No se detectó la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Animar"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; // Recorrido de la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); // Se guarda la primera parte de la pregunta context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); if (palabra1 == "texto" || palabra1 == "textos") { reply.Attachments = RespuestasPowerPoint.GetAnimarTextoObjetosPowerPoint(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "objeto" || palabra1 == "objetos") { reply.Attachments = RespuestasPowerPoint.GetAnimarTextoObjetosPowerPoint(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "conjunto" || palabra1 == "conjuntos" || palabra1 == "grupo" || palabra1 == "grupos") { // Recorrido de la segunda parte de la pregunta foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "objetos" || palabra2 == "objeto") { reply.Attachments = RespuestasPowerPoint.GetAnimarConjuntoObjetosPowerPoint(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasPowerPoint.GetAnimarConjuntoObjetosPowerPoint(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasPowerPoint.GetAnimarConjuntoObjetosPowerPoint(); await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } else if (palabra1 == "imagen" || palabra1 == "imágenes" || palabra1 == "imagenes") { reply.Attachments = RespuestasPowerPoint.GetAnimarImagenDiapositiva(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "celdas" || palabra1 == "celda" || palabra1 == "filas" || palabra1 == "fila" || palabra1 == "columna" || palabra1 == "columnas") { reply.Attachments = RespuestasPowerPoint.GetAnimarCeldasFilasColumenasTabla(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync($"O tal vez no escribió correctamente la palabra '{palabra1}'?"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } } // No se detectó la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; }
public async Task StartAsync() { var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Mover"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; string preguntaConsulta = "¿Tiene alguna otra consulta?"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; // Recorrido de la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // ------------------------------------------------------------------- if (palabra1 == "carpeta" || palabra1 == "carpetas") { reply.Attachments = RespuestasOutlook.GetCambiarNombreCarpeta(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "archivos" || palabra1 == "archivo") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "datos" || palabra2 == "dato") { reply.Attachments = RespuestasOutlook.GetMoverArchivoDatosOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetMoverArchivoDatosOutlook(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra1}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } foreach (var service in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var serv = service.Entity.ToLower().Replace(" ", ""); if (serv == "outlook") { reply.Attachments = RespuestasOutlook.GetMoverArchivoDatosOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (serv == "onedrive") { reply.Attachments = RespuestasOneDrive.GetCambiarNombreMoverFotosArhivosOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetMoverArchivoDatosOutlook(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{serv}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } //obtener el producto si este a sido escogido anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoServicio", out servicio); if (servicio == "Outlook") { reply.Attachments = RespuestasOutlook.GetMoverArchivoDatosOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "Outlook"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicio == "OneDrive") { reply.Attachments = RespuestasOneDrive.GetCambiarNombreMoverFotosArhivosOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "OneDrive"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync(reply); await context.PostAsync($"O tal vez no escribió correctamente la palabra '{palabra1}'?"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } } } // No se detectó la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Aplicar"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string preguntaConsulta = "¿Tiene alguna otra consulta?"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; // Recorrido de la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // ------------------------------------------------------------------- if (palabra1 == "categoría" || palabra1 == "categorías" || palabra1 == "categoria" || palabra1 == "categorias") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "color") { reply.Attachments = RespuestasOutlook.GetCrearAsignarCategoriasColor(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetCrearAsignarCategoriasColor(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } await context.PostAsync($"Quizás desea saber como asignar categorías de color, tengo esto: "); reply.Attachments = RespuestasOutlook.GetCrearAsignarCategoriasColor(); await context.PostAsync(reply); await context.PostAsync($"Caso contrario, la pregunta no se encuentra registrada o vuelva a escribir correctamente la pregunta."); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } // ------------------------------------------------------------------- else if (palabra1 == "diseñosdefondo" || palabra1 == "diseñosdefondos" || palabra1 == "fondos" || palabra1 == "fondo" || palabra1 == "diseño" || palabra1 == "diseños") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "mensajes" || palabra2 == "mensaje") { reply.Attachments = RespuestasOutlook.GetCrearDiseñosDePlantillaParaMensajesV2(); await context.PostAsync(confirmacionRespuesta2); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetAplicarFondosTemasMensajes(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } await context.PostAsync($"Quizás desea saber como aplicar un tema a mensajes de correo, tengo esto: "); reply.Attachments = RespuestasOutlook.GetAplicarFondosTemasMensajes(); await context.PostAsync(reply); await context.PostAsync($"Caso contrario, la pregunta no se encuentra registrada o vuelva a escribir correctamente la pregunta."); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } // ------------------------------------------------------------------- else if (palabra1 == "espaciosimple" || palabra1 == "espaciossimples") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "línea" || palabra2 == "líneas" || palabra2 == "linea" || palabra2 == "lineas") { reply.Attachments = RespuestasWord.GetAplicarEspacioSimpleLineasDocumento(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "documento" || palabra1 == "documentos") { reply.Attachments = RespuestasWord.GetAplicarEspacioSimpleLineasDocumento(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasWord.GetAplicarEspacioSimpleLineasDocumento(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasWord.GetAplicarEspacioSimpleLineasDocumento(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } // ------------------------------------------------------------------- else if (palabra1 == "estilos" || palabra1 == "estilo") { foreach (var serv in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var servicio1 = serv.Entity.ToLower().Replace(" ", ""); if (servicio1 == "word") { reply.Attachments = RespuestasWord.GetAplicarEstiloTextoWord(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicio1 == "outlook") { reply.Attachments = Respuestas.GetAplicarEstilos(); await context.PostAsync(confirmacionRespuesta2); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = Respuestas.GetAplicarEstilos(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, no se encuentra el servicio '{servicio1}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } //obtener el producto si este a sido escodigo anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoDeServicio", out servicio); if (servicio == "Word" || servicio == "Outlook") { reply.Attachments = Respuestas.GetAplicarEstilos(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else { // No se detectó la segunda parte de la pregunta reply.Attachments = Respuestas.GetAplicarEstilos(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } // ------------------------------------------------------------------- else if (palabra1 == "efecto" || palabra1 == "efectos") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "animación" || palabra2 == "animacion" || palabra2 == "animaciones") { reply.Attachments = RespuestasPowerPoint.GetAplicarVariosEfectosAnimacion(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasPowerPoint.GetAplicarVariosEfectosAnimacion(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = reply.Attachments = RespuestasPowerPoint.GetAplicarVariosEfectosAnimacion(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } // ------------------------------------------------------------------- else if (palabra1 == "animación" || palabra1 == "animacion" || palabra1 == "animaciones") { reply.Attachments = RespuestasPowerPoint.GetAplicarVariosEfectosAnimacion(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } // ------------------------------------------------------------------- else if (palabra1 == "plantilla" || palabra1 == "plantillas") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "presentación" || palabra2 == "presentacion" || palabra2 == "presentaciones") { reply.Attachments = RespuestasPowerPoint.GetAplicarPlantillaPresentacion(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasPowerPoint.GetAplicarPlantillaPresentacion(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasPowerPoint.GetAplicarPlantillaPresentacion(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } // ------------------------------------------------------------------- else { await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync($"O tal vez no escribió correctamente la palabra '{palabra1}'?"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } } // No se detectó la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Definicion"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // ------------------------------------------------------------------- if (palabra1 == "archivodepetición" || palabra1 == "archivodepeticion") { reply.Attachments = RespuestasOneDrive.GetDefinicionArchivoPeticion(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "plan" || palabra1 == "planes" || palabra1 == "precio" || palabra1 == "precios") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "almacenamiento" || palabra2 == "almacenamientos") { foreach (var entityP3 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra3")) { var palabra3 = entityP3.Entity.ToLower().Replace(" ", ""); if (palabra3 == "región" || palabra3 == "regiones" || palabra3 == "país" || palabra3 == "paises") { reply.Attachments = RespuestasOneDrive.GetPlanesAlmacenamientoPaisOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOneDrive.GetPlanesAlmacenamientoPaisOneDrive(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } reply.Attachments = RespuestasOneDrive.GetPlanesAlmacenamientoPaisOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOneDrive.GetPlanesAlmacenamientoPaisOneDrive(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOneDrive.GetPlanesAlmacenamientoPaisOneDrive(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "formatos" || palabra1 == "formato") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "videos" || palabra2 == "video") { reply.Attachments = RespuestasOneDrive.GetFormatoVideoPermitidosOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOneDrive.GetFormatoVideoPermitidosOneDrive(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "requisitos" || palabra1 == "requesito") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "sistema" || palabra2 == "equipo") { reply.Attachments = RespuestasOneDrive.GetRequisitosSistemaOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOneDrive.GetRequisitosSistemaOneDrive(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "firma" || palabra1 == "firmas") { reply.Attachments = Respuestas.GetDefinicionFirmaDigital(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); return; } else { await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync($"O tal vez no escribió correctamente la palabra '{palabra1}'?"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // Obtener el producto si este fue elegido de forma explicita foreach (var entity in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var value = entity.Entity.ToLower().Replace(" ", ""); if (value == "outlook" || value == "outlok") { reply.Attachments = RespuestasOutlook.GetOutlookDefinicion(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "Outlook"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (value == "onedrive" || value == "One Drive" || value == "OneDrive") { reply.Attachments = RespuestasOneDrive.GetOneDriveDefinicion(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (value == "excel") { reply.Attachments = RespuestasExcel.GetExcelDefinicionCard(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (value == "powerpoint" || value == "power point") { reply.Attachments = RespuestasPowerPoint.GetPowerPointDefinicionCard(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (value == "word") { reply.Attachments = RespuestasWord.GetWordDefinicionCard(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (value == "onenote" || value == "OneNote") { reply.Attachments = RespuestasOneNote.GetOneNoteDefinicion(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { await context.PostAsync($"Lo siento, '{value}' no esta registrado como servicio"); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } } //obtener el producto si este a sido escodigo anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoDeServicio", out servicio); if (servicio == "Word") { reply.Attachments = RespuestasWord.GetWordDefinicionCard(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "Word"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicio == "Excel") { reply.Attachments = RespuestasExcel.GetExcelDefinicionCard(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "Excel"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicio == "Outlook") { reply.Attachments = RespuestasOutlook.GetOutlookDefinicion(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "Outlook"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicio == "OneDrive") { reply.Attachments = RespuestasOneDrive.GetOneDriveDefinicion(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "OneDrive"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicio == "PowerPoint") { reply.Attachments = RespuestasPowerPoint.GetPowerPointDefinicionCard(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "PowerPoint"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicio == "OneNote") { reply.Attachments = RespuestasOneNote.GetOneNoteDefinicion(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "OneNote"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { // Si el usuario no a ingresado la primera parte de la pregunta await context.PostAsync("Lo siento, su pregunta no esta registrada"); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; var accion = "Abrir"; // Se guarda la accion escrita por el usuario context.PrivateConversationData.SetValue <string>("Accion", accion); string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; // Se detectó la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); // Se guarda la primera parte de la pregunta context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // --------------------------------------------------------------------- if (palabra1 == "elemento" || palabra1 == "elementos") { // Se detectó la Segunda parte de la pregunta foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "archivo" || palabra2 == "archivos") { reply.Attachments = RespuestasOutlook.GetBuscarElementosArchivosDatos(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetBuscarElementosArchivosDatos(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOutlook.GetBuscarElementosArchivosDatos(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } // --------------------------------------------------------------------- else if (palabra1 == "archivos" || palabra1 == "archivo" || palabra1 == "carpeta") { // Se detectó el Servico de la pregunta foreach (var serv in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var servicioU = serv.Entity.ToLower().Replace(" ", ""); if (servicioU == "onedrive" || servicioU == "OneDrive") { reply.Attachments = RespuestasOneDrive.GetAbrirArchivosDispositivoMovilOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicioU == "outlook" || servicioU == "Outlook") { reply.Attachments = RespuestasOutlook.GetAbrirArchivosDatosOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = Respuestas.GetAbrirArchivosOneDriveOutlook(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{servicioU}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } // No se detecto el Servicio de la pregunta // Se detectó la Segunda parte de la pregunta foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "dato" || palabra2 == "datos") { reply.Attachments = RespuestasOutlook.GetAbrirArchivosDatosOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra2 == "dispositivomovil" || palabra2 == "dispositivomóvil" || palabra2 == "dispositivo" || palabra2 == "dispositivos" || palabra2 == "dispositivosmóviles" || palabra2 == "dispositivosmoviles" || palabra2 == "celular") { reply.Attachments = RespuestasOneDrive.GetAbrirArchivosDispositivoMovilOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetAbrirArchivosDatosOutlook(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } // No se detectó la segunda parte de la pregunta // Obtener el producto si este a sido escodigo anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoDeServicio", out servicio); if (servicio == "Outlook") { reply.Attachments = RespuestasOutlook.GetAbrirArchivosDatosOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", servicio); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicio == "OneDrive") { reply.Attachments = RespuestasOneDrive.GetAbrirArchivosDispositivoMovilOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", servicio); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { // No se detectó la segunda parte de la pregunta reply.Attachments = Respuestas.GetAbrirArchivosOneDriveOutlook(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } // --------------------------------------------------------------------- else if (palabra1 == "notas" || palabra1 == "nota" || palabra1 == "blocs de notas" || palabra1 == "bloc de notas" || palabra1 == "bloc" || palabra1 == "block") { reply.Attachments = RespuestasOneNote.GetAbrirBlocNotasOneNote(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } // --------------------------------------------------------------------- else { reply.Attachments = RespuestasOutlook.GetRespuestaAbrirDialog(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra1}'?"); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } } // No se detectó la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Compartir"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; // Recorrido de la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); if (palabra1 == "carpeta" || palabra1 == "carpeta") { // Se detectó la segunda parte de la pregunta foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "contactos" || palabra2 == "contacto") { // Se detectó la tercera parte de la pregunta foreach (var entityP3 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra3")) { var palabra3 = entityP3.Entity.ToLower().Replace(" ", ""); if (palabra3 == "usuarios" || palabra3 == "usuario") { reply.Attachments = RespuestasOutlook.GetCompartirCarpetaContactosUsuarios(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetCompartirCarpetaContactosUsuarios(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra3}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la tercera parte de la pregunta reply.Attachments = RespuestasOutlook.GetCompartirCarpetaContactosUsuarios(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else { reply.Attachments = RespuestasOutlook.GetCompartirCarpetaContactosUsuarios(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOutlook.GetCompartirCarpetaContactosUsuarios(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "archivos" || palabra1 == "archivo") { // Se detectó el Servicio de la pregunta foreach (var entity in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var serv = entity.Entity.ToLower().Replace(" ", ""); if (serv == "word") { reply.Attachments = RespuestasWord.GetCompartirArchivosWord(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (serv == "excel") { reply.Attachments = RespuestasExcel.GetCompartirLibrosExcelOtrosUsuarios(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (serv == "powerpoint") { reply.Attachments = RespuestasPowerPoint.GetCompartirPresentacionPowerPoint(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (serv == "onedrive") { reply.Attachments = RespuestasOneDrive.GetCompartirArchivosCarpetasOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = Respuestas.GetCompartirArchivos(); await context.PostAsync($"Lo siento, {serv} no esta registrado, consulte otra vez el servicio escribiendo ayuda"); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } // Se detectó la segunda parte de la pregunta foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "Android" || palabra2 == "android") { reply.Attachments = RespuestasOneDrive.GetCompartirArchivosOneDriveAndroid(); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOneDrive.GetCompartirArchivosOneDriveAndroid(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = Respuestas.GetCompartirArchivos(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "blocdenotas" || palabra1 == "páginadenotas" || palabra1 == "páginasdenotas" || palabra1 == "paginadenotas" || palabra1 == "paginasdenotas") { reply.Attachments = RespuestasOneNote.GetCompartirPaginaDeNotasBlocDeNotasOneNote(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "presentación" || palabra1 == "presentacion" || palabra1 == "presentaciones") { reply.Attachments = RespuestasPowerPoint.GetCompartirPresentacionPowerPoint(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "libro" || palabra1 == "libros") { reply.Attachments = RespuestasExcel.GetCompartirLibrosExcelOtrosUsuarios(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "coautoría" || palabra1 == "coautoria" || palabra1 == "autoría" || palabra1 == "autoria") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra1 == "presentación" || palabra1 == "presentacion" || palabra1 == "presentaciones") { reply.Attachments = RespuestasPowerPoint.GetCompartirAutoriaPresentacionPowerPoint(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasPowerPoint.GetCompartirAutoriaPresentacionPowerPoint(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasPowerPoint.GetCompartirAutoriaPresentacionPowerPoint(); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync($"O tal vez no escribió correctamente la palabra '{palabra1}'?"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } } // No se detectó la primera parte de la pregunta reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Combinar"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; // Se detectó la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // ------------------------------------------------------------------- // La primera parte de la pregunta es firma if (palabra1 == "documento" || palabra1 == "documentos" || palabra1 == "achivos" || palabra1 == "archivo") { reply.Attachments = RespuestasWord.GetCombinarDocumentosWord(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "correspondencia") { // Se detectó la segunda parte de la pregunta foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); // La segunda parte de la prgunta es mensaje o correo if (palabra2 == "documento" || palabra2 == "documentos" || palabra2 == "archivoexcel" || palabra2 == "documentoexcel" || palabra2 == "hoja") { reply.Attachments = RespuestasWord.GetCombinarCorrespondenciaHojaCalculo(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasWord.GetCombinarCorrespondenciaHojaCalculo(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasWord.GetCombinarCorrespondenciaHojaCalculo(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else { reply.Attachments = RespuestasWord.GetCombinarDocumentosWord(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra1}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); return; } } // Si el usuario no ingreso la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Obtener"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; // Recorrido de la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // ------------------------------------------------------------------- if (palabra1 == "información" || palabra1 == "informacion") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "navegar" || palabra2 == "nvegar") { reply.Attachments = RespuestasOutlook.GetObtenerInformacionNavegarOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetObtenerInformacionNavegarOutlook(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } await context.PostAsync($"Quizás desea saber como obtener información sobre cómo navegar en Outlook con características de accesibilidad, tengo esto: "); reply.Attachments = RespuestasOutlook.GetObtenerInformacionNavegarOutlook(); await context.PostAsync(reply); await context.PostAsync($"Caso contrario, la pregunta no se encuentra registrada o vuelva a escribir correctamente la pregunta."); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "id" || palabra1 == "iddigital") { reply.Attachments = RespuestasOutlook.GetObtenerIdDigitalOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetObtenerInformacionNavegarOutlook(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra1}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); return; } } // No se detectó la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); return; }
public async Task StartAsync() { var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Trabajar"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string preguntaConsulta = "¿Tiene alguna otra consulta?"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; // Recorrido de la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); // Se guarda la primera parte de la pregunta context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // ------------------------------------------------------------------- if (palabra1 == "conjunta" || palabra1 == "colaborativa") { foreach (var entity in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var service = entity.Entity.ToLower().Replace(" ", ""); if (service == "word") { reply.Attachments = RespuestasWord.GetTrabajarCoAutoriaTiempoReal(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (service == "onedrive") { reply.Attachments = RespuestasOneDrive.GetTrabajarManeraConjuntaOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (service == "powerpoint") { reply.Attachments = RespuestasPowerPoint.GetTrabajarConjuntamentePresentacionesPowerPoint(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "PowerPoint"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else { await context.PostAsync($"Lo siento, '{service}' no esta registrado como servicio"); reply.Attachments = Respuestas.GetTrabajarManeraConjunta(); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); // La segunda parte de la prgunta es mensaje o correo if (palabra2 == "presentación" || palabra2 == "presentacion" || palabra2 == "presentaciones") { reply.Attachments = RespuestasPowerPoint.GetTrabajarConjuntamentePresentacionesPowerPoint(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else { reply.Attachments = RespuestasPowerPoint.GetTrabajarConjuntamentePresentacionesPowerPoint(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } //obtener el producto si este a sido escogido anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoServicio", out servicio); if (servicio == "Word") { reply.Attachments = RespuestasWord.GetTrabajarCoAutoriaTiempoReal(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "Word"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicio == "OneDrive") { reply.Attachments = RespuestasOneDrive.GetTrabajarManeraConjuntaOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "OneNote"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicio == "PowerPoint") { reply.Attachments = RespuestasPowerPoint.GetTrabajarConjuntamentePresentacionesPowerPoint(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else { reply.Attachments = Respuestas.GetTrabajarManeraConjunta(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } else if (palabra1 == "coautoría" || palabra1 == "co-autoría" || palabra1 == "coautoria" || palabra1 == "co-autoria") { // Se detecto el Servicio de la pregunta foreach (var entity in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var service = entity.Entity.ToLower().Replace(" ", ""); if (service == "word") { reply.Attachments = RespuestasWord.GetTrabajarCoAutoriaTiempoReal(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { await context.PostAsync($"Lo siento, '{service}' no esta registrado como servicio"); reply.Attachments = RespuestasWord.GetTrabajarCoAutoriaTiempoReal(); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); return; } } // No se detectó el Servicio de la pregunta //obtener el producto si este a sido escodigo anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoDeServicio", out servicio); if (servicio == "Word") { reply.Attachments = RespuestasWord.GetTrabajarCoAutoriaTiempoReal(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "Word"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasWord.GetTrabajarCoAutoriaTiempoReal(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } else if (palabra1 == "páginas" || palabra1 == "página" || palabra1 == "paginas" || palabra1 == "seccion" || palabra1 == "secciones") { reply.Attachments = RespuestasOneNote.GetTrabajarPaginasSeccionesOneNote(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync($"O tal vez no escribió correctamente la palabra '{palabra1}'?"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } } // No se detectó la primera parte de la pregunta reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Organizar"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; // Recorrido de la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // ------------------------------------------------------------------- if (palabra1 == "calendarios" || palabra1 == "calendario") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "categoría" || palabra2 == "categorías" || palabra2 == "categoria" || palabra2 == "categorias") { reply.Attachments = RespuestasOutlook.GetOrganizarCalendariosCategorias(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetOrganizarCalendariosCategorias(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } await context.PostAsync($"Quizás desea saber como organizar su calendario con la opción de categorías de color, tengo esto: "); reply.Attachments = RespuestasOutlook.GetOrganizarCalendariosCategorias(); await context.PostAsync(reply); await context.PostAsync($"Caso contrario, la pregunta no se encuentra registrada o vuelva a escribir correctamente la pregunta."); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "mensajes" || palabra1 == "mensaje") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "bajaprioridad") { reply.Attachments = RespuestasOutlook.GetUsarCorreosOrganizarBajaPrioridad(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetUsarCorreosOrganizarBajaPrioridad(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } await context.PostAsync($"Quizás desea saber como organizar sus mensajes de baja prioridad en Outlook, tengo esto: "); reply.Attachments = RespuestasOutlook.GetUsarCorreosOrganizarBajaPrioridad(); await context.PostAsync(reply); await context.PostAsync($"Caso contrario, la pregunta no se encuentra registrada o vuelva a escribir correctamente la pregunta."); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "fotos" || palabra1 == "foto") { reply.Attachments = RespuestasOneDrive.GetOrganizarBuscarFotosOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync($"O tal vez no escribió correctamente la palabra '{palabra1}'?"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); return; } } // No se detectó la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Guardar"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; // Recorrido de la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // ------------------------------------------------------------------- if (palabra1 == "mensajes" || palabra1 == "mensaje") { reply.Attachments = RespuestasOutlook.GetGuardarMensajeOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "archivos" || palabra1 == "archivo" || palabra1 == "documentos" || palabra1 == "documento") { // Recorrido del Servicio de la pregunta foreach (var entity in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var serv = entity.Entity.ToLower().Replace(" ", ""); if (serv == "OneDrive" || serv == "onedrive" || serv == "drive") { reply.Attachments = RespuestasOneDrive.GetGuardarDocumentoOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (serv == "Word" || serv == "word") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "pdf" || palabra2 == "xps") { reply.Attachments = Respuestas.GetGuardarArchivoPDF(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = Respuestas.GetGuardarArchivoPDF(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } reply.Attachments = Respuestas.GetGuardarArchivoPDF(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOneDrive.GetGuardarDocumentoOneDrive(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, no se tiene registrado el servicio '{serv}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } //obtener el producto si este a sido escodigo anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoDeServicio", out servicio); if (servicio == "Word") { reply.Attachments = Respuestas.GetGuardarArchivoPDF(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicio == "OneDrive") { reply.Attachments = RespuestasOneDrive.GetGuardarDocumentoOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "pdf" || palabra2 == "xps") { reply.Attachments = Respuestas.GetGuardarArchivoPDF(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else { reply.Attachments = Respuestas.GetGuardarArchivoPDF(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } reply.Attachments = RespuestasOneDrive.GetGuardarDocumentoOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } else if (palabra1 == "fotos" || palabra1 == "foto" || palabra1 == "videos" || palabra1 == "video" || palabra1 == "vídeos" || palabra1 == "vídeo") { reply.Attachments = RespuestasOneDrive.GetGuardarFotosVideosOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "capturasdepantalla" || palabra1 == "capturadepantalla" || palabra1 == "capturas" || palabra1 == "captura") { reply.Attachments = RespuestasOneDrive.GetGuardarCapturasPantallaOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "notas" || palabra1 == "nota" || palabra1 == "blocs de notas" || palabra1 == "bloc de notas" || palabra1 == "bloc" || palabra1 == "block") { reply.Attachments = RespuestasOneNote.GetGuardarNotasBlocsNotas(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "presentación" || palabra1 == "presentacion" || palabra1 == "presentaciones") { // Recorrido del Servicio de la pregunta foreach (var entity in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var serv = entity.Entity.ToLower().Replace(" ", ""); if (serv == "onedrive") { reply.Attachments = RespuestasPowerPoint.GetGuardarCompartirPresentacionOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "OneDrive"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasPowerPoint.GetGuardarCompartirPresentacionOneDrive(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, no se tiene registrado el servicio '{serv}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } //obtener el producto si este a sido escodigo anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoDeServicio", out servicio); if (servicio == "OneDrive") { reply.Attachments = RespuestasPowerPoint.GetGuardarCompartirPresentacionOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasPowerPoint.GetGuardarCompartirPresentacionOneDrive(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } else if (palabra1 == "plantilla" || palabra1 == "plantillas") { reply.Attachments = RespuestasPowerPoint.GetGuardarPlantillaPowerPoint(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); } else { reply.Attachments = RespuestasOutlook.GetGuardarMensajeOutlook(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra1}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } } // No se detectó la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Buscar"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta2 = "si necesita más información por favor hágamelo saber"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; // Recorrido de la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // ------------------------------------------------------------------- if (palabra1 == "personas" || palabra1 == "persona" || palabra1 == "contactos" || palabra1 == "contacto") { reply.Attachments = RespuestasOutlook.GetBuscarPersonasOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } // ------------------------------------------------------------------- else if (palabra1 == "mensajes" || palabra1 == "mensaje") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "busquedainstantanea" || palabra2 == "búsquedainstantánea" || palabra2 == "búsquedainstantanea" || palabra2 == "busquedainstantánea" || palabra2 == "búsqueda" || palabra2 == "busqueda") { reply.Attachments = RespuestasOutlook.GetBuscarMensajeBusquedaInstantanea(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetBuscarMensajeBusquedaInstantanea(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOutlook.GetBuscarMensajeBusquedaInstantanea(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } // ------------------------------------------------------------------- else if (palabra1 == "elementos" || palabra1 == "elemento") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "archivos" || palabra2 == "archivo") { reply.Attachments = RespuestasOutlook.GetBuscarElementosArchivosDatos(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetBuscarElementosArchivosDatos(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOutlook.GetBuscarElementosArchivosDatos(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } // ------------------------------------------------------------------- else if (palabra1 == "archivos" || palabra1 == "archivo") { foreach (var servicio in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var serv = servicio.Entity.ToLower().Replace(" ", ""); if (serv == "onedrive") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "ios") { reply.Attachments = RespuestasOneDrive.GetBuscarTrabajarArchivosOneDriveIos(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra2 == "android") { reply.Attachments = RespuestasOneDrive.GetBuscarTrabajarArchivosOneDriveAndroid(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra2 == "windowsphone") { reply.Attachments = RespuestasOneDrive.GetBuscarTrabajarArchivosOneDriveWindowsPhone(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra2 == "sharepoint") { reply.Attachments = RespuestasOneDrive.GetBuscarArchivosSharePointOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOneDrive.GetBuscarTrabajarArchivosOneDriveAndroid(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } reply.Attachments = RespuestasOneDrive.GetBuscarOMoverArchivosOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (serv == "outlook") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "datos" || palabra2 == "dato") { reply.Attachments = RespuestasOutlook.GetBuscarArchivosDatosOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetBuscarArchivosDatosOutlook(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } reply.Attachments = RespuestasOutlook.GetBuscarArchivosDatosOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOneDrive.GetBuscarTrabajarArchivosOneDriveAndroid(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{serv}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "datos" || palabra2 == "dato") { reply.Attachments = RespuestasOutlook.GetBuscarArchivosDatosOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra2 == "sharepoint") { reply.Attachments = RespuestasOneDrive.GetBuscarArchivosSharePointOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetBuscarArchivosDatosOutlook(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } reply.Attachments = RespuestasOneDrive.GetBuscarArchivosOneDriveBuscarArchivosDatosOutlook(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } // ------------------------------------------------------------------- else if (palabra1 == "referencias" || palabra1 == "referencia") { // Se detectó el Servico de la pregunta foreach (var serv in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var servicioU = serv.Entity.ToLower().Replace(" ", ""); if (servicioU == "onenote" || servicioU == "OneNote") { reply.Attachments = RespuestasOneNote.GetBuscarReferenciasFacilmenteOneNote(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOneNote.GetBuscarReferenciasFacilmenteOneNote(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{servicioU}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó el Servico de la pregunta reply.Attachments = RespuestasOneNote.GetBuscarReferenciasFacilmenteOneNote(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } // ------------------------------------------------------------------- else if (palabra1 == "nota" || palabra1 == "notas") { // Se detectó el Servico de la pregunta foreach (var serv in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var servicioU = serv.Entity.ToLower().Replace(" ", ""); if (servicioU == "onenote" || servicioU == "OneNote") { reply.Attachments = RespuestasOneNote.GetBuscarNotasOneNote(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOneNote.GetBuscarNotasOneNote(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{servicioU}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } //obtener el producto si este a sido escodigo anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoServicio", out servicio); if (servicio == "OneNote") { reply.Attachments = RespuestasOneNote.GetBuscarNotasOneNote(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else { // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOneNote.GetBuscarNotasOneNote(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } else if (palabra1 == "fotos" || palabra1 == "foto") { reply.Attachments = RespuestasOneDrive.GetOrganizarBuscarFotosOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "regla") { reply.Attachments = RespuestasWord.GetMostrarOcultarReglaWord(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "texto" || palabra1 == "texto" || palabra1 == "datos" || palabra1 == "dato") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "documentos" || palabra2 == "documento" || palabra2 == "archivo" || palabra2 == "archivos") { reply.Attachments = RespuestasWord.GetBuscarReemplazarTextoDatosDocumentoWord(); await context.PostAsync(confirmacionRespuesta2); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra2 == "hoja" || palabra2 == "hojas") { reply.Attachments = RespuestasExcel.GetBuscarTextoNumerosHojaCalculo(); await context.PostAsync(confirmacionRespuesta2); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasWord.GetBuscarReemplazarTextoDatosDocumentoWord(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta // Se detecto el Servicio de la pregunta foreach (var serv in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var servicio1 = serv.Entity.ToLower().Replace(" ", ""); if (servicio1 == "word") { reply.Attachments = RespuestasWord.GetBuscarReemplazarTextoDatosDocumentoWord(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "Word"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicio1 == "excel") { reply.Attachments = RespuestasExcel.GetBuscarTextoNumerosHojaCalculo(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "Excel"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasWord.GetBuscarReemplazarTextoDatosDocumentoWord(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, no se encuentra el servicio '{servicio1}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } //obtener el producto si este a sido escodigo anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoServicio", out servicio); if (servicio == "Word" || servicio == "Outlook") { reply.Attachments = RespuestasWord.GetBuscarReemplazarTextoDatosDocumentoWord(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicio == "Excel") { reply.Attachments = RespuestasExcel.GetBuscarTextoNumerosHojaCalculo(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasWord.GetBuscarReemplazarTextoDatosDocumentoWord(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } else if (palabra1 == "vínculo" || palabra1 == "vínculos" || palabra1 == "vinculo" || palabra1 == "vinculos") { reply.Attachments = RespuestasExcel.GetBuscarVinculosLibro(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "referencia" || palabra1 == "referencias") { reply.Attachments = RespuestasExcel.GetBuscarVinculosLibro(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "celdas" || palabra1 == "celda") { reply.Attachments = RespuestasExcel.GetBuscarCeldasOcultasHoja(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "duplicado" || palabra1 == "duplicados") { reply.Attachments = RespuestasExcel.GetBuscarDuplicadosExcel(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync($"O tal vez no escribió correctamente la palabra '{palabra1}'?"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } } // No se detectó la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Exportar"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; // Se detectó la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // ------------------------------------------------------------------- if (palabra1 == "calendario" || palabra1 == "calendarios") { // Se detectó la segunda parte de la pregunta foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "google" || palabra2 == "googol") { reply.Attachments = RespuestasOutlook.GetExportarCalendarioGoogleCalendar(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetExportarCalendarioGoogleCalendar(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOutlook.GetExportarCalendarioGoogleCalendar(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } else if (palabra1 == "correoelectrónico" || palabra1 == "correoelectrónicos" || palabra1 == "correoelectronico" || palabra1 == "correoelectronicos" || palabra1 == "contacto" || palabra1 == "contactos" || palabra1 == "calendario" || palabra1 == "calendarios" || palabra1 == "correo" || palabra1 == "correos") { reply.Attachments = RespuestasOutlook.GetExportarCorreoContactosCalendarioOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "archivos" || palabra1 == "archivo" || palabra1 == "documentos" || palabra1 == "documento") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "pdf") { reply.Attachments = Respuestas.GetGuardarArchivoPDF(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = Respuestas.GetGuardarArchivoPDF(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } reply.Attachments = Respuestas.GetGuardarArchivoPDF(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else { await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync($"O tal vez no escribió correctamente la palabra '{palabra1}'?"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } } // No se detectó la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Ajustar"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; // Se detectó la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // ------------------------------------------------------------------- // La primera parte de la pregunta es modo o apariencia if (palabra1 == "texto" || palabra1 == "textos") { // Recorrido del Servicio de la pregunta foreach (var entity in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var serv = entity.Entity.ToLower().Replace(" ", ""); if (serv == "word" || serv == "Word" || serv == "outlook" || serv == "Outlook") { reply.Attachments = RespuestasWord.GetAjustarTextoWord(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasWord.GetAjustarTextoWord(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, no se tiene registrado el servicio '{serv}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } //obtener el producto si este a sido escodigo anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoDeServicio", out servicio); if (servicio == "Word" || servicio == "Outlook") { reply.Attachments = RespuestasWord.GetAjustarTextoWord(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasWord.GetAjustarTextoWord(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } else if (palabra1 == "espaciado" || palabra1 == "espaciado") { reply.Attachments = Respuestas.GetAjustarSangriaEspaciado(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "sangría" || palabra1 == "sangrías") { // Recorrido del Servicio de la pregunta foreach (var entity in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var serv = entity.Entity.ToLower().Replace(" ", ""); if (serv == "word" || serv == "Word" || serv == "outlook" || serv == "Outlook") { reply.Attachments = RespuestasWord.GetAjustarSangriaEspaciado(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (serv == "outlook" || serv == "Outlook") { reply.Attachments = Respuestas.GetAjustarSangriaEspaciado(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = Respuestas.GetAjustarSangriaEspaciado(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, no se tiene registrado el servicio '{serv}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } //obtener el producto si este a sido escodigo anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoDeServicio", out servicio); if (servicio == "Word" || servicio == "Outlook") { reply.Attachments = RespuestasWord.GetAjustarSangriaEspaciado(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { // No se detectó la segunda parte de la pregunta reply.Attachments = Respuestas.GetAjustarSangriaEspaciado(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } } else { await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync($"O tal vez no escribió correctamente la palabra '{palabra1}'?"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } } // Si el usuario no ingreso la primera parte de la pregunta reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Revisar"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; // Recorrido de la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); // Se guarda la primera parte de la pregunta context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // ------------------------------------------------------------------- if (palabra1 == "ortografia" || palabra1 == "ortografía") { // Se detectó el Servico de la pregunta foreach (var serv in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var servicio1 = serv.Entity.ToLower().Replace(" ", ""); if (servicio1 == "onenote" || servicio1 == "OneNote") { reply.Attachments = RespuestasOneNote.GetRevisarOrtografiAOneNote(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicio1 == "word" || servicio1 == "excel" || servicio1 == "powerpoint" || servicio1 == "outlook" || servicio1 == "office") { reply.Attachments = Respuestas.GetRevisarOrtografiaOffice(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = Respuestas.GetRevisarOrtografiaOffice(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente el servicio '{servicio1}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó el Servicio de la pregunta // Se obtiene el servicio que esta guardado en cache var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoServicio", out servicio); if (servicio == "OneNote" || servicio == "onenote") { reply.Attachments = RespuestasOneNote.GetRevisarOrtografiAOneNote(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "Servicio"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = Respuestas.GetRevisarOrtografiaOffice(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } else { await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync($"O tal vez no escribió correctamente la palabra '{palabra1}'?"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } } // No se detectó la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Solucionar"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; // Recorrido de la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); // Se guarda la primera parte de la pregunta context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // ------------------------------------------------------------------- if (palabra1 == "ecuaciones" || palabra1 == "ecuacion" || palabra1 == "ecuacionesmatemáticas" || palabra1 == "ecuacionematematica" || palabra1 == "ecuacionesmatematicas") { // Se detectó el Servico de la pregunta foreach (var serv in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var servicioU = serv.Entity.ToLower().Replace(" ", ""); if (servicioU == "onenote" || servicioU == "OneNote") { reply.Attachments = RespuestasOneNote.GetResolverEcuaciones(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOneNote.GetResolverEcuaciones(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{servicioU}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó el Servicio de la pregunta //obtener el producto si este a sido escodigo anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoDeServicio", out servicio); if (servicio == "OneNote") { reply.Attachments = RespuestasOneNote.GetResolverEcuaciones(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOneNote.GetResolverEcuaciones(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } else if (palabra1 == "problemas" || palabra1 == "problema" || palabra1 == "error" || palabra1 == "errores") { // Se detectó el Servico de la pregunta foreach (var serv in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var servicioU = serv.Entity.ToLower().Replace(" ", ""); if (servicioU == "onenote" || servicioU == "OneNote") { reply.Attachments = RespuestasOneNote.GetSolucionarOneNote(); await context.PostAsync(confirmacionRespuesta2); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "OneNote"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicioU == "outlook" || servicioU == "outlok") { reply.Attachments = RespuestasOutlook.GetSolucionarOutlook(); await context.PostAsync(confirmacionRespuesta2); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "Outlook"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicioU == "onedrive" || servicioU == "drive") { reply.Attachments = RespuestasOneDrive.GetSolucionarOneDrive(); await context.PostAsync(confirmacionRespuesta2); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "OneDrive"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = Respuestas.GetSolucionarOffice(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{servicioU}'?"); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó el Servicio de la pregunta //obtener el producto si este a sido escodigo anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoDeServicio", out servicio); if (servicio == "OneNote") { reply.Attachments = RespuestasOneNote.GetSolucionarOneNote(); await context.PostAsync(confirmacionRespuesta2); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicio == "Outlook") { reply.Attachments = RespuestasOutlook.GetSolucionarOutlook(); await context.PostAsync(confirmacionRespuesta2); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicio == "OneDrive") { reply.Attachments = RespuestasOneDrive.GetSolucionarOneDrive(); await context.PostAsync(confirmacionRespuesta2); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = Respuestas.GetSolucionarOffice(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } else { reply.Attachments = Respuestas.GetSolucionarOffice(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra1}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } // No se detectó la primera parte de la pregunta reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Copiar"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; // Recorrido de la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); if (palabra1 == "archivos" || palabra1 == "archivo" || palabra1 == "carpetas" || palabra1 == "carpeta") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "sharepoint") { reply.Attachments = RespuestasOneDrive.GetCopiarArchivosCarpetasOneDriveSharePoint(); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOneDrive.GetCopiarArchivosCarpetasOneDriveSharePoint(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la tercera parte de la pregunta reply.Attachments = RespuestasOneDrive.GetBuscarArchivosOneDriveBuscarArchivosDatosOutlook(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else { await context.PostAsync($"¿{palabra1}?, por favor vuelva a escribir la consulta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); return; } } // Si el usuario no ingreso la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); return; }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "También tengo esta respuesta para usted :"; string confirmacionRespuesta2 = "También tengo estas respuestas para usted :"; string preguntaNoEncontrada = "Lo siento, no tengo otra respuesta para su pregunta"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; // Obtener el estado de la pregunta (*Saber si el usuario a realizado una pregunta o no*) var estadoPregunta = "EstadoPregunta"; context.PrivateConversationData.TryGetValue <string>("EstadoPregunta", out estadoPregunta); // Obtener la Accion si esta a sido escogida anteriormente var acccion = "Accion"; context.PrivateConversationData.TryGetValue <string>("Accion", out acccion); // Obtener el Servicio si este a sido escogido anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoDeServicio", out servicio); // Obtener la Pregunta::Palabra1 si esta a sido escogida anteriormente var palabra1 = "Palabra1"; context.PrivateConversationData.TryGetValue <string>("Palabra1", out palabra1); // Si el usuario a realizado un pregunta correcta if (estadoPregunta == "True") { context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); // ------------ ABRIR ------------- // -------------------------------- if (acccion == "Abrir") { if (palabra1 == "elemento" || palabra1 == "elementos") { reply.Attachments = RespuestasOutlook.GetBuscarElemento(); await context.PostAsync(confirmacionRespuesta2); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "archivos" || palabra1 == "archivo") { await context.PostAsync(preguntaNoEncontrada); } else if (palabra1 == "notas" || palabra1 == "nota" || palabra1 == "blocs de notas" || palabra1 == "bloc de notas" || palabra1 == "bloc" || palabra1 == "block") { reply.Attachments = RespuestasOneNote.GetAbrirBlocNotasCompartidoOneNote(); await context.PostAsync(confirmacionRespuesta2); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync(preguntaNoEncontrada); return; } } // ----------- AGREGAR ------------ // -------------------------------- else if (acccion == "Agregar") { if (palabra1 == "contacto" || palabra1 == "contactos" || palabra1 == "correos" || palabra1 == "correo" || palabra1 == "emails" || palabra1 == "email") { reply.Attachments = RespuestasOutlook.GetAgregarContactos(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "nombres" || palabra1 == "nombre" || palabra1 == "personas" || palabra1 == "persona") { reply.Attachments = RespuestasOutlook.GetCambiarNombrePerfil(); await context.PostAsync(confirmacionRespuesta2); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "graficos" || palabra1 == "grafico" || palabra1 == "gráficos" || palabra1 == "gráfico") { reply.Attachments = RespuestasOutlook.GetUsarGráficos(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "tabla" || palabra1 == "tablas") { reply.Attachments = RespuestasOutlook.GetAgregarTablas(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "confirmaciones" || palabra1 == "conformación" || palabra1 == "confirmacion") { reply.Attachments = RespuestasOutlook.GetAgregarConfirmacion(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "notificaciones" || palabra1 == "notificación" || palabra1 == "notificacion") { reply.Attachments = RespuestasOutlook.GetActivarDesactivarAlertas(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "seguimiento" || palabra1 == "seguimientos") { reply.Attachments = RespuestasOutlook.GetSeguimiento(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "díasnolaborables" || palabra1 == "diasnolaborables" || palabra1 == "feriados" || palabra1 == "feriado") { reply.Attachments = RespuestasOutlook.GetAgregarDiasNoLaborables(); await context.PostAsync(confirmacionRespuesta2); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "firmas" || palabra1 == "firma") { reply.Attachments = Respuestas.GetAgregarQuitarFirmaOffice(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "tarjetas" || palabra1 == "tarjeta") { reply.Attachments = RespuestasOutlook.GetTarjeta(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "hipervínculo" || palabra1 == "hipervinculo" || palabra1 == "hipervínculos" || palabra1 == "hipervinculos") { reply.Attachments = RespuestasOutlook.GetCrearQUitarHipervínculoParaMac(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "archivos" || palabra1 == "archivo") { reply.Attachments = Respuestas.GetAgregarArchivo(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "contenido" || palabra1 == "contenidos") { reply.Attachments = RespuestasOneNote.GetAgregaContenidoNotasGrupo(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "vínculo" || palabra1 == "vínculos" || palabra1 == "vinculo" || palabra1 == "vinculos") { await context.PostAsync(preguntaNoEncontrada); } else if (palabra1 == "imagen" || palabra1 == "imagenes" || palabra1 == "imágenes" || palabra1 == "imágen") { await context.PostAsync(preguntaNoEncontrada); } else if (palabra1 == "vídeos" || palabra1 == "vídeo" || palabra1 == "video" || palabra1 == "videos") { await context.PostAsync(preguntaNoEncontrada); } else if (palabra1 == "carpetascompartidas" || palabra1 == "carpetacompartida" || palabra1 == "carpeta") { await context.PostAsync(preguntaNoEncontrada); } else if (palabra1 == "cuenta" || palabra1 == "cuentas") { await context.PostAsync(preguntaNoEncontrada); } else if (palabra1 == "comentarios" || palabra1 == "comentario") { await context.PostAsync(preguntaNoEncontrada); } else if (palabra1 == "pdf") { await context.PostAsync(preguntaNoEncontrada); } else if (palabra1 == "carácterespecial" || palabra1 == "caracterespecial" || palabra1 == "carácteresespeciales" || palabra1 == "caracteresespeciales" || palabra1 == "símbolo" || palabra1 == "simbolo") { await context.PostAsync(preguntaNoEncontrada); } else if (palabra1 == "wordart") { await context.PostAsync(preguntaNoEncontrada); } else if (palabra1 == "marcadeagua" || palabra1 == "marcasdeagua") { await context.PostAsync(preguntaNoEncontrada); } else { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync("Lo siento, no tengo otra respuesta"); await context.PostAsync(reply); return; } } // ----------- APLICAR ------------ // -------------------------------- else if (acccion == "Aplicar") { if (palabra1 == "diseñosdefondo" || palabra1 == "diseñosdefondos" || palabra1 == "fondos" || palabra1 == "fondo") { reply.Attachments = RespuestasOutlook.GetCrearDiseñosParaMensajes(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync("Lo siento, no tengo otra respuesta"); await context.PostAsync(reply); return; } } // ----------- BUSCAR ------------- // -------------------------------- else if (acccion == "Buscar") { if (palabra1 == "correo" || palabra1 == "correos" || palabra1 == "mensaje" || palabra1 == "mensajes" || palabra1 == "correoelectronico") { reply.Attachments = RespuestasOutlook.GetBuscarsCorreoContactos(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "nombres" || palabra1 == "nombre" || palabra1 == "personas" || palabra1 == "persona") { reply.Attachments = RespuestasOutlook.GetBuscarsCorreoContactos(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "contacto" || palabra1 == "contactos" || palabra1 == "emails" || palabra1 == "email") { reply.Attachments = RespuestasOutlook.GetBuscarsCorreoContactos(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync("Lo siento, no tengo otra respuesta"); await context.PostAsync(reply); return; } } // ----------- CAMBIAR ------------ // -------------------------------- else if (acccion == "Cambiar") { if (palabra1 == "firma" || palabra1 == "firmas") { reply.Attachments = RespuestasOutlook.GetFirma(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "cita" || palabra1 == "citas" || palabra1 == "eventos" || palabra1 == "evento" || palabra1 == "reunión" || palabra1 == "reuniones") { reply.Attachments = RespuestasOutlook.GetCambiarZonaHorariaCita(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "modo" || palabra1 == "apariencia") { reply.Attachments = RespuestasOutlook.GetBuscarsCorreoContactos(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "vista" || palabra1 == "vistas") { reply.Attachments = RespuestasOutlook.GetBuscarsCorreoContactos(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "sonido" || palabra1 == "sonidos") { reply.Attachments = RespuestasOutlook.GetBuscarsCorreoContactos(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "color" || palabra1 == "colores" || palabra1 == "fuente" || palabra1 == "fuentes") { reply.Attachments = RespuestasOutlook.GetCambiarTema(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "tamañodefuente" || palabra1 == "tamañosdefuentes" || palabra1 == "tamaño de fuente") { reply.Attachments = RespuestasOutlook.GetDefinirFuente(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "configuración" || palabra1 == "configuracion" || palabra1 == "configuraciones") { reply.Attachments = RespuestasOutlook.GetCambiarConfiguracionVisualizacionCorreo(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "ubicación" || palabra1 == "ubicaciones" || palabra1 == "ubicacion") { await context.PostAsync(preguntaNoEncontrada); } else if (palabra1 == "nivel" || palabra1 == "niveles") { await context.PostAsync(preguntaNoEncontrada); } else { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync("Lo siento, no tengo otra respuesta"); await context.PostAsync(reply); return; } } // ----------- CARGAR ------------- // -------------------------------- else if (acccion == "Cargar") { } // ---------- COMPARTIR ----------- // -------------------------------- else if (acccion == "Compartir") { } // ----------- COPIAR ------------- // -------------------------------- else if (acccion == "Copiar") { } // ------------ CREAR ------------- // -------------------------------- else if (acccion == "Crear") { if (palabra1 == "firma" || palabra1 == "firmas") { reply.Attachments = RespuestasOutlook.GetFirma(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "categoría" || palabra1 == "categoria" || palabra1 == "categorias" || palabra1 == "categorías") { reply.Attachments = RespuestasOutlook.GetUtiliceCategoriasOutlook(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "plantilla" || palabra1 == "plantillas") { reply.Attachments = RespuestasOutlook.GetCrearPlantilla(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "carpeta" || palabra1 == "carpetas") { reply.Attachments = RespuestasOutlook.GetCrearUsarCarpetasPersonales(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "tarea" || palabra1 == "tareas") { reply.Attachments = RespuestasOutlook.GetCreandoAsignandoTareas(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "grupo" || palabra1 == "grupos") { reply.Attachments = RespuestasOutlook.GetCrearGrupo(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "diseño" || palabra1 == "diseños") { reply.Attachments = RespuestasOutlook.GetCrearDiseños(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "evento" || palabra1 == "eventos") { reply.Attachments = RespuestasOutlook.GetCrearEvento(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "vista" || palabra1 == "vistas") { await context.PostAsync(preguntaNoEncontrada); } else if (palabra1 == "correo" || palabra1 == "correos" || palabra1 == "mensaje" || palabra1 == "mensajes" || palabra1 == "correoelectronico") { reply.Attachments = RespuestasOutlook.GetCrearMensaje(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "cita" || palabra1 == "citas" || palabra1 == "eventos" || palabra1 == "evento" || palabra1 == "reunión" || palabra1 == "reuniones") { reply.Attachments = RespuestasOutlook.GetCrearAgregarCitaEvento(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "nombres" || palabra1 == "nombre" || palabra1 == "personas" || palabra1 == "persona") { reply.Attachments = RespuestasOutlook.GetAgregarYBloquearContactos(); await context.PostAsync(confirmacionRespuesta2); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else if (palabra1 == "contacto" || palabra1 == "contactos" || palabra1 == "emails" || palabra1 == "email") { reply.Attachments = RespuestasOutlook.GetAgregarYBloquearContactos(); await context.PostAsync(confirmacionRespuesta2); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync("Lo siento, no tengo otra respuesta"); await context.PostAsync(reply); return; } } // --------- DEFINICION ----------- // -------------------------------- else if (acccion == "Definicion") { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(preguntaNoEncontrada); await context.PostAsync(reply); return; } // --------- DESACTIVAR ----------- // -------------------------------- else if (acccion == "Desactivar") { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(preguntaNoEncontrada); await context.PostAsync(reply); return; } // ---------- DESPEDIDA ----------- // -------------------------------- else if (acccion == "Despedida") { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(preguntaNoEncontrada); await context.PostAsync(reply); return; } // ----------- EDITAR ------------- // -------------------------------- else if (acccion == "Editar") { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(preguntaNoEncontrada); await context.PostAsync(reply); return; } // ---------- ELIMINAR ------------ // -------------------------------- else if (acccion == "Eliminar") { if (palabra1 == "categoría" || palabra1 == "categoria" || palabra1 == "categorias" || palabra1 == "categorías") { reply.Attachments = RespuestasOutlook.GetAgregarEditarEliminarCategoriaBusiness(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } else { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync("Lo siento, no tengo otra respuesta"); await context.PostAsync(reply); return; } } // ---------- ENCONTRAR ----------- // -------------------------------- else if (acccion == "Encontrar") { } // ----------- ENVIAR ------------- // -------------------------------- else if (acccion == "Enviar") { if (palabra1 == "respuestasautomaticas" || palabra1 == "respuestaautomatica" || palabra1 == "respuestasautomáticas" || palabra1 == "respuestaautomática" || palabra1 == "respuestasfuera" || palabra1 == "respuestafuera") { await context.PostAsync(preguntaNoEncontrada); } else { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync("Lo siento, no tengo otra respuesta"); await context.PostAsync(reply); return; } } // --------- ESTABLECER ----------- // -------------------------------- else if (acccion == "Establecer") { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync("Lo siento, no tengo otra respuesta"); await context.PostAsync(reply); return; } // ---------- EXPORTAR ------------ // -------------------------------- else if (acccion == "Exportar") { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync("Lo siento, no tengo otra respuesta"); await context.PostAsync(reply); return; } // ---------- GUARDAR ------------- // -------------------------------- else if (acccion == "Guardar") { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync("Lo siento, no tengo otra respuesta"); await context.PostAsync(reply); return; } // ---------- IMPORTAR ------------ // -------------------------------- else if (acccion == "Importar") { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(preguntaNoEncontrada); await context.PostAsync(reply); return; } // ---------- IMPRIMIR ------------ // -------------------------------- else if (acccion == "Imprimir") { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(preguntaNoEncontrada); await context.PostAsync(reply); return; } // ----------- MOVER -------------- // -------------------------------- else if (acccion == "Mover") { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(preguntaNoEncontrada); await context.PostAsync(reply); return; } // ----------- OBTENER ------------ // -------------------------------- else if (acccion == "Obtener") { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(preguntaNoEncontrada); await context.PostAsync(reply); return; } // ---------- PROTEGER ------------ // -------------------------------- else if (acccion == "Proteger") { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(preguntaNoEncontrada); await context.PostAsync(reply); return; } // --------- RECUPERAR ------------ // -------------------------------- else if (acccion == "Recuperar") { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(preguntaNoEncontrada); await context.PostAsync(reply); return; } // ---------- REVISAR ------------- // -------------------------------- else if (acccion == "Revisar") { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(preguntaNoEncontrada); await context.PostAsync(reply); return; } // -------- SINCRONIZAR ----------- // -------------------------------- else if (acccion == "Sincronizar") { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(preguntaNoEncontrada); await context.PostAsync(reply); return; } // --------- SOLUCIONAR ----------- // -------------------------------- else if (acccion == "Solucionar") { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(preguntaNoEncontrada); await context.PostAsync(reply); return; } // ---------- TRABAJAR ------------ // -------------------------------- else if (acccion == "Trabajar") { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(preguntaNoEncontrada); await context.PostAsync(reply); return; } // ------------ USAR -------------- // -------------------------------- else if (acccion == "Usar") { if (palabra1 == "graficos" || palabra1 == "grafico" || palabra1 == "gráficos" || palabra1 == "gráfico") { reply.Attachments = RespuestasOutlook.GetUsarGráficos(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); } } // ------------ VER --------------- // -------------------------------- else if (acccion == "Ver") { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(preguntaNoEncontrada); await context.PostAsync(reply); return; } // ------ NO SE TIENE ACCION ------ // -------------------------------- else { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync("Lo siento, ocurrio un error inesperado"); await context.PostAsync(reply); return; } } // Si el usuario a realizado un pregunta incorrecta else if (estadoPregunta == "False") { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync("Lo siento, no entendí lo que escribiste, acaso tienes una consulta?"); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } // El usuario no a realizado una pregunta else { reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync("Lo siento, acaso tienes una consulta"); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } }
public async Task StartAsync() { var reply = context.MakeMessage(); reply.AttachmentLayout = AttachmentLayoutTypes.Carousel; var estadoPregunta = "True"; var estadoPregunta2 = "False"; var accion = "Eliminar"; context.PrivateConversationData.SetValue <string>("Accion", accion); var estadoRespuesta = "True"; var estadoRespuesta2 = "False"; string confirmacionRespuesta1 = "Tengo esta respuesta para usted:"; string confirmacionRespuesta2 = "Tengo estas respuestas para usted:"; string preguntaNoRegistrada1 = "Lo siento, su pregunta no esta registrada, tal vez no escribió la pregunta correctamente"; string preguntaNoRegistrada2 = "Lo siento, su pregunta no esta registrada"; string opcionSecundarioDeRespuesta1 = "Pero esta respuesta le podría interesar:"; string opcionSecundarioDeRespuesta2 = "Pero estas respuestas le podrían interesar:"; string preguntaConsulta = "si tiene otra consulta por favor hágamelo saber"; // Recorrido de la primera parte de la pregunta foreach (var entityP1 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra1")) { var palabra1 = entityP1.Entity.ToLower().Replace(" ", ""); context.PrivateConversationData.SetValue <string>("Palabra1", palabra1); // ------------------------------------------------------------------- if (palabra1 == "categoría" || palabra1 == "categorías" || palabra1 == "categoria" || palabra1 == "categorias") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "color") { reply.Attachments = RespuestasOutlook.GetEliminarCategoriaColor(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasOutlook.GetEliminarCategoriaColor(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasOutlook.GetEliminarCategoriaColor(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "archivos" || palabra1 == "archivo" || palabra1 == "carpetas" || palabra1 == "carpeta") { reply.Attachments = RespuestasOneDrive.GetEliminarArchivosCarpetasOneDrive(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "comentario" || palabra1 == "comentarios") { foreach (var entity in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var serv = entity.Entity.ToLower().Replace(" ", ""); if (serv == "word") { reply.Attachments = RespuestasWord.GetQuitarComentariosWord(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (serv == "powerpoint") { reply.Attachments = RespuestasPowerPoint.GetEliminarComentariosPowerPoint(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); } else { reply.Attachments = Respuestas.GetEliminarComentarios(); await context.PostAsync($"Lo siento, {serv} no esta registrado, consulte otra vez el servicio escribiendo ayuda"); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } //obtener el producto si este a sido escodigo anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoDeServicio", out servicio); if (servicio == "Word") { reply.Attachments = RespuestasWord.GetQuitarComentariosWord(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicio == "PowerPoint") { reply.Attachments = RespuestasPowerPoint.GetEliminarComentariosPowerPoint(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = Respuestas.GetEliminarComentarios(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } else if (palabra1 == "marca" || palabra1 == "marcas" || palabra1 == "marcasderevisión" || palabra1 == "marcasderevision") { reply.Attachments = RespuestasWord.GetQuitarMarcasRevision(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "hipervínculo" || palabra1 == "hipervinculo" || palabra1 == "hipervínculos" || palabra1 == "hipervinculos") { reply.Attachments = RespuestasWord.GetQuitarHipervinculos(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "salto" || palabra1 == "saltos") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "página" || palabra2 == "pagina") { reply.Attachments = RespuestasWord.GetQuitarSaltoPagina(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra2 == "sección" || palabra2 == "seccion") { reply.Attachments = RespuestasWord.GetEliminarSaltoSeccion(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasWord.GetQuitarSaltoPaginaEliminarSaltoSeccion(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasWord.GetQuitarSaltoPaginaEliminarSaltoSeccion(); await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "número" || palabra1 == "numero" || palabra1 == "números" || palabra1 == "numeros") { reply.Attachments = RespuestasWord.GetQuitarNumerosPagina(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "encabezados" || palabra1 == "encabezado" || palabra1 == "piedepágina" || palabra1 == "piedepagina" || palabra1 == "piesdepágina" || palabra1 == "piesdepagina") { foreach (var entity in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var serv = entity.Entity.ToLower().Replace(" ", ""); if (serv == "word") { reply.Attachments = RespuestasWord.GetEliminarCambiarEncabezadoPiePagina(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (serv == "powerpoint") { reply.Attachments = RespuestasPowerPoint.GetEliminarCambiarInformacionEncabezadoPiePagina(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasPowerPoint.GetEliminarCambiarEncabezadoPiePaginaWordPowerPoint(); await context.PostAsync($"Lo siento, {serv} no esta registrado, consulte otra vez el servicio escribiendo ayuda"); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } // No se detectó el 'servicio' de la pregunta // Se obtiene el servicio que esta guardado en cache var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoServicio", out servicio); if (servicio == "Word") { reply.Attachments = RespuestasWord.GetEliminarCambiarEncabezadoPiePagina(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "Word"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicio == "Power Point" || servicio == "PowerPoint") { reply.Attachments = RespuestasPowerPoint.GetEliminarCambiarInformacionEncabezadoPiePagina(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "PowerPoint"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasPowerPoint.GetEliminarCambiarEncabezadoPiePaginaWordPowerPoint(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } } else if (palabra1 == "marcadeagua" || palabra1 == "marcasdeagua") { // Recorrido del Servicio de la pregunta foreach (var entity in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var serv = entity.Entity.ToLower().Replace(" ", ""); if (serv == "word") { reply.Attachments = RespuestasWord.GetQuitarMarcaAgua(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "Word"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (serv == "powerpoint") { reply.Attachments = RespuestasPowerPoint.GetQuitarMarcaAguaDiapositivas(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "PowerPoint"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = Respuestas.GetQuitarMarcaAgua(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, no se tiene registrado el servicio '{serv}'?"); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } //obtener el producto si este a sido escodigo anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoDeServicio", out servicio); if (servicio == "Word") { reply.Attachments = RespuestasWord.GetQuitarMarcaAgua(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicio == "PowerPoint") { reply.Attachments = RespuestasPowerPoint.GetQuitarMarcaAguaDiapositivas(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { // No se detectó la segunda parte de la pregunta reply.Attachments = Respuestas.GetQuitarMarcaAgua(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } else if (palabra1 == "contraseña" || palabra1 == "contraseñas") { // Recorrido de la segunda parte de la pregunta foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "archivos" || palabra2 == "archivos" || palabra2 == "documento" || palabra2 == "documentos" || palabra2 == "hoja" || palabra2 == "hojas" || palabra2 == "libro" || palabra2 == "libros") { reply.Attachments = RespuestasExcel.GetQuitarContrasenaHojaCalculolibroExcel(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasExcel.GetQuitarContrasenaHojaCalculolibroExcel(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasExcel.GetQuitarContrasenaHojaCalculolibroExcel(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "valor" || palabra1 == "valores" || palabra1 == "variable" || palabra1 == "variables" || palabra1 == "palabra" || palabra1 == "palabras") { // Recorrido de la segunda parte de la pregunta foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "duplicado" || palabra2 == "duplicados" || palabra2 == "duplicada" || palabra2 == "duplicadas") { reply.Attachments = RespuestasExcel.GetQuitarValoresDuplicados(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasExcel.GetQuitarValoresDuplicados(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasExcel.GetQuitarValoresDuplicados(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "duplicados" || palabra1 == "duplicado") { reply.Attachments = RespuestasExcel.GetQuitarValoresDuplicados(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "borde" || palabra1 == "bordes") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "celda" || palabra2 == "celdas") { reply.Attachments = RespuestasExcel.GetInsertarQuitarBordesCeldaHojaCalculo(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasExcel.GetInsertarQuitarBordesCeldaHojaCalculo(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = RespuestasExcel.GetInsertarQuitarBordesCeldaHojaCalculo(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "formato" || palabra1 == "formatos") { // Recorrido del Servicio de la pregunta foreach (var entity in result.Entities.Where(Entity => Entity.Type == "Servicio")) { var serv = entity.Entity.ToLower().Replace(" ", ""); if (serv == "excel") { reply.Attachments = RespuestasExcel.GetQuitarFormatoCondicionalExcel(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "Excel"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (serv == "word") { reply.Attachments = RespuestasWord.GetBorrarFormatoTexto(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "Word"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (serv == "powerpoint") { reply.Attachments = RespuestasPowerPoint.GetBorrarFormatoTexto(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("tipoServicio", "PowerPoint"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = Respuestas.GetBorrarFormatoWordExcel(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, no se tiene registrado el servicio '{serv}'?"); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } //obtener el producto si este a sido escodigo anteriormente var servicio = "Servicio"; context.PrivateConversationData.TryGetValue <string>("tipoDeServicio", out servicio); if (servicio == "Excel") { reply.Attachments = RespuestasExcel.GetQuitarFormatoCondicionalExcel(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicio == "Word") { reply.Attachments = RespuestasWord.GetBorrarFormatoTexto(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (servicio == "PowerPoint") { reply.Attachments = RespuestasPowerPoint.GetBorrarFormatoTexto(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { // No se detectó la segunda parte de la pregunta reply.Attachments = Respuestas.GetBorrarFormatoWordExcel(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta2); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } else if (palabra1 == "diapositiva" || palabra1 == "diapositivas") { reply.Attachments = RespuestasPowerPoint.GetEliminarDiapositivas(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else if (palabra1 == "efecto" || palabra1 == "efectos") { foreach (var entityP2 in result.Entities.Where(Entity => Entity.Type == "Pregunta::Palabra2")) { var palabra2 = entityP2.Entity.ToLower().Replace(" ", ""); if (palabra2 == "animación" || palabra2 == "animacion" || palabra2 == "animaciones") { reply.Attachments = RespuestasPowerPoint.GetQuitarEfectoAnimacion(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { reply.Attachments = RespuestasPowerPoint.GetQuitarEfectoAnimacion(); await context.PostAsync($"Lo siento, su pregunta no esta registrada, tal vez no escribió correctamente la palabra '{palabra2}'?"); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } } // No se detectó la segunda parte de la pregunta reply.Attachments = reply.Attachments = RespuestasPowerPoint.GetQuitarEfectoAnimacion(); await context.PostAsync(preguntaNoRegistrada1); await context.PostAsync(opcionSecundarioDeRespuesta1); await context.PostAsync(reply); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); return; } else if (palabra1 == "animación" || palabra1 == "animacion" || palabra1 == "animaciones") { reply.Attachments = RespuestasPowerPoint.GetQuitarEfectoAnimacion(); await context.PostAsync(confirmacionRespuesta1); await context.PostAsync(reply); await context.PostAsync(preguntaConsulta); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta); return; } else { await context.PostAsync(preguntaNoRegistrada2); await context.PostAsync($"O tal vez no escribió correctamente la palabra '{palabra1}'?"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; } } // No se detectó la primera parte de la pregunta await context.PostAsync(preguntaNoRegistrada2); reply.Attachments = Respuestas.GetConsultaV2(); await context.PostAsync(reply); await context.PostAsync("O tal vez no escribió la pregunta correctamente"); context.PrivateConversationData.SetValue <string>("EstadoPregunta", estadoPregunta2); context.PrivateConversationData.SetValue <string>("EstadoRespuesta", estadoRespuesta2); return; }