private void RefreshMods(object param = null) { try { // Refresh only if last updated more than 30 seconds ago if (lastUpdated < DateTime.Now.AddSeconds(-30)) { IsLoading = true; log.Info("Loading mods from Trovesaurus API"); TrovesaurusApi.RefreshModList(); TrovesaurusMods.Clear(); foreach (TroveMod mod in TrovesaurusApi.ModList) { TrovesaurusMods.Add(new TroveModViewModel(mod)); } lastUpdated = DateTime.Now; log.Info("Loading mod list complete"); } else { log.InfoFormat("Please wait {0} to refresh the mod list again", lastUpdated.AddSeconds(30).Subtract(DateTime.Now).Humanize()); } } catch (Exception ex) { log.Error("Error refreshing mods", ex); } finally { IsLoading = false; } }
public DesignTimeGetMoreModsViewModel() : base() { foreach (TroveMod mod in JsonConvert.DeserializeObject <List <TroveMod> >(Resources.DesignTimeTroveMods)) { TrovesaurusMods.Add(new TroveModViewModel(mod)); } BuildTypesCollections(); }