public void AddOrUpdate(string uuid, IWorkshopPublishFileDetails d, List <string> tags) { // Mods may have the same UUID, so use the WorkshopID instead. var cachedData = Mods.FirstOrDefault(x => x.WorkshopID == d.publishedfileid); if (cachedData != null) { cachedData.LastUpdated = d.time_updated; cachedData.Created = d.time_created; cachedData.Tags = tags; } else { Mods.Add(new DivinityModWorkshopCachedData() { Created = d.time_created, LastUpdated = d.time_updated, UUID = uuid, WorkshopID = d.publishedfileid, Tags = tags }); } NonWorkshopMods.Remove(uuid); CacheUpdated = true; }
private static List <string> GetWorkshopTags(IWorkshopPublishFileDetails data) { var tags = data.tags.Where(t => !ignoredTags.Contains(t.tag)).Select(x => x.tag).ToList(); if (tags != null) { return(tags); } return(new List <string>()); }