Beispiel #1
0
 public Message Subscribe(string[] parameters, MessageEvent e)
 {
     if (!parameters.Any())
     {
         return(new Message("/subscribe [feed]"));
     }
     try {
         var subscribed = col.Find(x =>
                                   e.GetEndpoint().Item1 == x.endpoint_type &&
                                   e.GetEndpoint().Item2 == x.endpoint_num
                                   );
         if (subscribed.Any(x => x.feed == parameters[0]))
         {
             return(new Message("already subscribed"));
         }
         FeedReader.ReadAsync(parameters[0]).ContinueWith(
             (f, o) =>
             col.Insert(new Subscription {
             endpoint_type = e.GetEndpoint().Item1,
             endpoint_num  = e.GetEndpoint().Item2,
             feed          = parameters[0],
             last_id       = ""
         })
             , null
             );
     } catch {
         return(new Message("failed to subscribe"));
     }
     return(new Message("subscribed"));
 }
Beispiel #2
0
        /// <summary>
        /// Devuelve una lista de todos los ficheros MP3 entre 2 fechas (opcionales) de un usuario concreto
        /// </summary>
        /// <param name="usuario"></param>
        /// <param name="desde"></param>
        /// <param name="hasta"></param>
        /// <returns></returns>
        public static IEnumerable <FicheroMP3> GetLista(String usuario, DateTime?desde, DateTime?hasta)
        {
            LiteDB.LiteCollection <FicheroMP3> ficheros      = db.GetCollection <FicheroMP3>("ficheros");
            IEnumerable <FicheroMP3>           listaTemporal = ficheros.Find(f => f.Usuario == usuario);

            if (desde != null)
            {
                listaTemporal = listaTemporal.Where(f => f.FechaRecepcion >= desde.Value);
            }
            if (hasta != null)
            {
                listaTemporal = listaTemporal.Where(f => f.FechaRecepcion <= hasta.Value);
            }
            Logger.Log("Obtenida lista de la Base de datos");
            return(listaTemporal);
        }
Beispiel #3
0
        /// <summary>
        /// Devuelve la transcripción de un fichero mp3 a partir de su usuario y su id. El usuario se usa por seguridad.
        /// </summary>
        /// <param name="usuario"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public static RespuestaTranscripcion GetTranscripcion(String usuario, Int32 id)
        {
            Logger.Log("Solicitada transcripción de la Base de datos");
            LiteDB.LiteCollection <FicheroMP3> ficheros = db.GetCollection <FicheroMP3>("ficheros");
            FicheroMP3 fichero = ficheros.Find(f => f.Usuario == usuario && f.Id == id).FirstOrDefault();

            if (fichero == null)
            {
                return(new RespuestaTranscripcion()
                {
                    Codigo = -1,
                    Transcripcion = null
                });
            }
            else if (fichero.Estado == FicheroMP3.EstadosFicheroMP3.Realizada)
            {
                return(new RespuestaTranscripcion()
                {
                    Codigo = 0,
                    Transcripcion = fichero.Transcripcion
                });
            }
            else if (fichero.Estado == FicheroMP3.EstadosFicheroMP3.Error)
            {
                return(new RespuestaTranscripcion()
                {
                    Codigo = -2,
                    Transcripcion = null
                });
            }
            else
            {
                return(new RespuestaTranscripcion()
                {
                    Codigo = -3,
                    Transcripcion = null
                });
            }
        }