public void AddImageInCache(CachedElement element) { if (currentIndex >= cachedElements.Length) { currentIndex = 0; } cachedElements[currentIndex++] = element; }
public ImageCache(int size) { cachedElements = new CachedElement[size]; for (int i = 0; i < cachedElements.Length; i++) { cachedElements[i] = new CachedElement(); } currentIndex = 0; }
public CachedElement FindImage(ulong id) { CachedElement result = null; for (int i = 0; i < cachedElements.Length && result == null; i++) { if (cachedElements[i].MessageId == id) { result = cachedElements[i]; } } return(result); }
public static async Task CacheImageAsync(List <string> urls, List <string> fileNames, ulong messageId) { if (fileNames.Count == urls.Count) { CachedElement result = new CachedElement() { MessageId = messageId }; for (int i = 0; i < fileNames.Count; i++) { result.Files.Add(new CachedFile() { File = ConvertImageTo64(await DownloadImageAsync(urls[i])), FileName = fileNames[i] }); } cache.AddImageInCache(result); } }