public List <Emoji> GetFavouriteEmojis() { lock (_context) { _event.SetBusy(); return((from k in _context.Emojis where k.UsedFrequency > 0 orderby k.UsedFrequency descending select k).Take(_configuration.FrequentEmojiCount).ToList()); } }
public FileService(EmojiContext context, EventService events, EmojiPadConfiguration config) { _context = context; _event = events; _config = config; context.Database.Migrate(); if (!Directory.Exists(_config.EmojiFolderPath)) { Directory.CreateDirectory(_config.EmojiFolderPath); } Task.Run(() => { while (Program.Running) { Thread.Sleep(1000); try { if (SyncEmojiCache()) { _event.SetBusy(); context.SaveChanges(); Thread.Sleep(1000); _event.InvokeRefreshEmojis(); } } catch { // ignored } } }); }