public void Load() { string name; foreach (dynamic datum in new Datums("buddies").Populate("CharacterID = '{0}'", this.Parent.ID)) { name = Database.Fetch("characters", "Name", "ID = '{0}'", datum.BuddyID); if (datum.Pending == 0) { this.Add(new Buddy(name, datum.GroupName, datum.BuddyID, 0, true)); } else { this.pendingBuddies.Add(new Buddy(name, datum.GroupName, datum.BuddyID, 0, false)); } Database.Delete("buddies", "CharacterID = '{0}' AND Pending = '1'", this.Parent.ID); } Dictionary <byte, List <int> > characterStorage = ChannelData.GetCharacterStorage(this.Parent.ID); foreach (Buddy loopBuddy in this) { if (this.IsMutualBuddy(loopBuddy.CharacterID)) { foreach (byte loopChannel in characterStorage.Keys) { if (characterStorage[loopChannel].Contains(loopBuddy.CharacterID)) { loopBuddy.Channel = (byte)(loopChannel + 1); } } } } }