public static async Task ErrorResultado(long id, TipoPlataforma plataforma) { string respuesta = "No hay resultados por aquí..."; MensajeSalida mensaje = SelectorPlataforma.CrearMensajeSalida(respuesta, id, plataforma); await BandejaSalida.EnviarMensaje(mensaje); }
public static async Task ErrorApi(long id, TipoPlataforma plataforma) { string respuesta = "Oh no!, Se cayó Mercado Libre!"; MensajeSalida mensaje = SelectorPlataforma.CrearMensajeSalida(respuesta, id, plataforma); await BandejaSalida.EnviarMensaje(mensaje); }
/// <summary> /// Crea MensajeSalida. /// </summary> /// <param name="contenido">Contenido del mensaje</param> /// <param name="id">Identificador de la conversación</param> /// <param name="plataforma">Tipo de plataforma de la conversación</param> /// <returns></returns> public static MensajeSalida CrearMensajeSalida(string contenido, long id, TipoPlataforma plataforma) { MensajeSalida mensajeSalida; switch (plataforma) { case TipoPlataforma.Consola: mensajeSalida = new MensajeSalidaConsola(contenido, id); break; case TipoPlataforma.Telegram: mensajeSalida = new MensajeSalidaTelegram(contenido, id); break; default: mensajeSalida = new MensajeSalidaConsola(contenido, id); break; } return(mensajeSalida); }
/// <summary> /// Método que pide una aclacración al usuario. Delega la responsabilidad de leer el archivo /// </summary> /// <param name="id">Identificador de la conversación</param> /// <param name="plataforma">Plataforma por la cual se debe enviar el mensaje</param> /// <returns></returns> public static async Task PedirAclaracion(long id, TipoPlataforma plataforma) { string respuesta = "Ups, no te entendí, ¿puedes volver a responder?"; try { respuesta = LeerArchivo.Leer("NoEntendi"); } catch (DirectoryNotFoundException) { Console.WriteLine("No se encontro archivo"); } catch (FileNotFoundException) { Console.WriteLine("No se encontro archivo"); } MensajeSalida mensaje = SelectorPlataforma.CrearMensajeSalida(respuesta, id, plataforma); await BandejaSalida.EnviarReaccion(mensaje); await BandejaSalida.EnviarMensaje(mensaje); }
/// <summary> /// Método que se encarga de trasladar a la clase encargada de enviar mensajes al usuario el /// pedido por un valor de Precio Maximo. /// </summary> public override async Task Preguntar(long id, TipoPlataforma plat) { string pregunta = Respuesta.DefinirFrase(this); await Respuesta.GenerarRespuesta(pregunta, id, plat); }
public abstract Task Preguntar(long id, TipoPlataforma plataforma);
public static async Task EnviarRegalo(Regalo regalo, long idPerfil, TipoPlataforma plat) { await Respuesta.EnviaRegalo(regalo.ToString(), idPerfil, plat); }
/// <summary> /// Formatea el contenido recibido desde el usuario y lo envía hacia GeneradorPerfil para posterior procesamiento. /// </summary> /// <param name="contenido">Contenido del mensaje enviado por el usuario</param> /// <param name="id">Número identificador de la conversación de la que proviene el contenido (único para cada conversación)</param> /// <returns></returns> public static Task RecibirMensaje(string contenido, long id, TipoPlataforma plataforma) { GeneradorPerfil.BuscarUsuario(new Mensaje(contenido, id, plataforma)); return(Task.CompletedTask); }
public static async Task ErrorPrecioMin(long id, TipoPlataforma plataforma) { await GenerarRespuesta("El precio debe ser un valor positivo", id, plataforma); }
public static async Task ErrorEdad(long id, TipoPlataforma plataforma) { await GenerarRespuesta("La edad debe ser un número entre 0 y 120", id, plataforma); }
public static async Task EnviaRegalo(string regalo, long id, TipoPlataforma plataforma) { MensajeSalida mensaje = SelectorPlataforma.CrearMensajeSalida(regalo, id, plataforma); await BandejaSalida.EnviarMensaje(mensaje); }
/// <summary> /// Método que genera la respuesta hacia el usuario. Se utiliza Delegación para la creación de la instancia /// de MensajeSalida, y para el envío mediante la plataforma /// </summary> /// <param name="contenido">Contenido del mensaje</param> /// <param name="id">Identificador de la conversación</param> /// <param name="plataforma">Plataforma por la que se debe enviar el mensaje</param> /// <returns></returns> public static async Task GenerarRespuesta(string contenido, long id, TipoPlataforma plataforma) { MensajeSalida mensaje = SelectorPlataforma.CrearMensajeSalida(contenido, id, plataforma); await BandejaSalida.EnviarMensaje(mensaje); }
public static async Task ErrorPrecioMax(long id, TipoPlataforma plataforma) { await GenerarRespuesta("El precio máximo debe ser un valor positivo y no puede ser menor al mínimo", id, plataforma); }