Exemple #1
0
        public static IEnumerable<Comic> GetComicsForList(BCRUser user, Guid id)
        {
          var list = Program.Database.ComicLists.FindItem(id);
          if (list == null)
          {
            return Enumerable.Empty<Comic>();
          }

          return list.GetBooks().Select(x => x.ToComic(user));
        }
Exemple #2
0
 // Get all comics from a specific series
 public static IEnumerable<Comic> GetComicsFromSeries(BCRUser user, Guid id)
 {
     var books = ComicRackWebViewer.Plugin.Application.GetLibraryBooks();
     var book = books.Where(x => x.Id == id).First();
     var series = books.Where(x => x.ShadowSeries == book.ShadowSeries)
         .Where(x => x.ShadowVolume == book.ShadowVolume)
         .Select(x => x.ToComic(user))
         .OrderBy(x => x.ShadowVolume)
         .ThenBy(x => x.ShadowNumber).ToList();
     
     return series;
 }
Exemple #3
0
        /*
         * 
         */ 
        public static IEnumerable<Comic> GetSeries(BCRUser user, Guid id, NancyContext context)
        {
            var books = ComicRackWebViewer.Plugin.Application.GetLibraryBooks();
            var book = books.Where(x => x.Id == id).First();
            var series = books.Where(x => x.ShadowSeries == book.ShadowSeries)
                .Where(x => x.ShadowVolume == book.ShadowVolume)
                .Select(x => x.ToComic(user))
                .OrderBy(x => x.ShadowNumber).ToList();

            int totalCount = 0;
            return context.ApplyODataUriFilter(series, ref totalCount).Cast<Comic>();
        }
        // TODO: add timeout for apikey.
        public static IUserIdentity GetUserFromApiKey(string apiKey)
        {
            if (apiKey == null)
            return null;

              BCRUser user;
              if (users.TryGetValue(apiKey, out user))
            return user;

              NameValueCollection result = Database.Instance.QuerySingle("SELECT user.id as id, username, apikey, fullname FROM user JOIN user_apikeys ON user.id=user_apikeys.user_id WHERE apikey = '" + apiKey + "' LIMIT 1;");
              if (result == null)
            return null;

              user = new BCRUser { UserName = result["username"], UserId = Convert.ToInt32(result["id"]), FullName = result["fullname"] };
              user.Initialize();

              lock (lockObject)
              {
            users[apiKey] = user;
              }

              return user;
        }
Exemple #5
0
 public static Comic GetComic(BCRUser user, Guid id)
 {
   try
   {
     var comic = GetComics().First(x => x.Id == id);
     return comic.ToComic(user);
   }
   catch//(Exception e)
   {
     //MessageBox.Show(e.ToString());
     return null;
   }
 }