private IEnumerable <Item> LoadCharacterInventoryItems(Character character, bool offline) { bool success; if (!offline) { statusController.DisplayMessage((string.Format("Loading {0}'s inventory...", character.Name))); } List <Item> inventory; try { inventory = ApplicationState.Model.GetInventory(character.Name); success = true; } catch (WebException) { inventory = new List <Item>(); success = false; } CharacterTabInjector.Inject(character, inventory); updateStatus(success, offline); return(inventory); }
private IEnumerable <Item> LoadItems(bool offline, IEnumerable <Character> chars) { bool downloadOnlyMyLeagues = (Settings.UserSettings.ContainsKey("DownloadOnlyMyLeagues") && bool.TryParse(Settings.UserSettings["DownloadOnlyMyLeagues"], out downloadOnlyMyLeagues) && downloadOnlyMyLeagues && Settings.Lists.ContainsKey("MyLeagues") && Settings.Lists["MyLeagues"].Count > 0); foreach (var character in chars) { if (character.League == "Void") { continue; } if (character.Expired) { _statusController.DisplayMessage(Environment.NewLine + "Skipping character " + character.Name + " because the character's name has expired." + Environment.NewLine); continue; } if (downloadOnlyMyLeagues && !Settings.Lists["MyLeagues"].Contains(character.League)) { continue; } foreach (var item in LoadStashItems(character)) { yield return(item); } foreach (var item in LoadCharacterInventoryItems(character, offline).Where(i => i.InventoryId != "MainInventory")) { yield return(item); } } if (downloadOnlyMyLeagues && ApplicationState.Characters.Count == 0) { throw new Exception("No characters found in the leagues specified. Check spelling or try setting " + "DownloadOnlyMyLeagues to false in the Settings.xml file."); } _characterInjector.Inject(); }
private IEnumerable <Item> LoadItems(bool offline, IEnumerable <Character> chars) { bool downloadOnlyMyLeagues = (Settings.UserSettings.ContainsKey("DownloadOnlyMyLeagues") && bool.TryParse(Settings.UserSettings["DownloadOnlyMyLeagues"], out downloadOnlyMyLeagues) && downloadOnlyMyLeagues && Settings.Lists.ContainsKey("MyLeagues") && Settings.Lists["MyLeagues"].Count > 0); foreach (var character in chars) { if (character.League == "Void") { continue; } if (downloadOnlyMyLeagues && !Settings.Lists["MyLeagues"].Contains(character.League)) { continue; } foreach (var item in LoadStashItems(character)) { yield return(item); } foreach (var item in LoadCharacterInventoryItems(character, offline).Where(i => i.InventoryId != "MainInventory")) { yield return(item); } } if (downloadOnlyMyLeagues && ApplicationState.Characters.Count == 0) { throw new Exception("No characters found in the leagues specified. Check spelling or try setting DownloadOnlyMyLeagues to false in settings."); } characterInjector.Inject(); }