private void OnRefresh() { try { var updatedAddons = new AddonUpdater().GetViewModel(); foreach (var updatedAddon in updatedAddons) { var match = Addons.Where(x => x.Name.Equals(updatedAddon.Name)); if (match.Count() > 0) { var addon = match.First(); updatedAddon.DownloadUrl = addon.DownloadUrl; updatedAddon.Blacklisted = addon.Blacklisted; updatedAddon.InstalledVersionDate = addon.InstalledVersionDate; } } Addons = updatedAddons; } catch (Exception exception) { Logger.Exception(exception); } }
private void Update() { AddonUpdater addonUpdater = new AddonUpdater(); if (addonUpdater.UpdateAddon(DownloadUrl)) { string updateMessage = string.Format("Updated {0} from {1} to {2}", Name, InstalledVersionDate.ToString(), AvailableVersionDate.ToString()); Logger.Message(updateMessage); InstalledVersionDate = DateTime.Now; } else { string updateMessage = string.Format("Failed to update {0} from {1} to {2}", Name, InstalledVersionDate.ToString(), AvailableVersionDate.ToString()); Logger.Message(updateMessage); } }
public static async Task Main(string[] args) { InteractiveMode = !(args.Count() > 0 && args[0] == "--script"); Console.WriteLine("*******************"); Console.WriteLine("*WoW Addon updater*"); Console.WriteLine("*******************\n"); try { #if RELEASE var cnf_path = Path.Join(Environment.CurrentDirectory, "config.txt"); #else var cnf_path = Path.Join(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "dev_config.txt"); #endif var addon_updater = new AddonUpdater(cnf_path); if (!Directory.Exists(Global.WoWPath)) { Exit($"World of Warcraft not found in folder '{Global.WoWPath}'!", 1); } addon_updater.AddonProgressUpdated += addon_updater_AddonProgressUpdated; await addon_updater.UpdateAll(); Exit(addon_updater.Summary(), 0); } catch (Exception ex) { #if DEBUG Exit(ex.ToString(), 1); #else Exit(ex.Message, 1); #endif } }