示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#4
0
        /// <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);
        }
示例#5
0
 /// <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);
 }
示例#6
0
 public abstract Task Preguntar(long id, TipoPlataforma plataforma);
示例#7
0
 public static async Task EnviarRegalo(Regalo regalo, long idPerfil, TipoPlataforma plat)
 {
     await Respuesta.EnviaRegalo(regalo.ToString(), idPerfil, plat);
 }
示例#8
0
 /// <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);
 }
示例#9
0
 public static async Task ErrorPrecioMin(long id, TipoPlataforma plataforma)
 {
     await GenerarRespuesta("El precio debe ser un valor positivo", id, plataforma);
 }
示例#10
0
 public static async Task ErrorEdad(long id, TipoPlataforma plataforma)
 {
     await GenerarRespuesta("La edad debe ser un número entre 0 y 120", id, plataforma);
 }
示例#11
0
        public static async Task EnviaRegalo(string regalo, long id, TipoPlataforma plataforma)
        {
            MensajeSalida mensaje = SelectorPlataforma.CrearMensajeSalida(regalo, id, plataforma);

            await BandejaSalida.EnviarMensaje(mensaje);
        }
示例#12
0
        /// <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);
        }
示例#13
0
 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);
 }