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")); }
/// <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); }
/// <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 }); } }