private void ValidateContacts() { Logger.Verbose("Validating Windows Live contacts..."); bool reconnect = false; using (ConfigurationServiceAgent configurationAgent = new ConfigurationServiceAgent()) { AddressList contactAddresses = new AddressList( configurationAgent.GetStringValue(ConfigurationModule.Messenger, ConfigurationKey.Messenger.MsnContactList, false)); List <Contact> contactsToRemove = new List <Contact>(); foreach (Contact contact in _messenger.ContactList.Allowed) { if (!contactAddresses.Contains(contact.Account)) { contactsToRemove.Add(contact); } } foreach (Contact contact in contactsToRemove) { if (contact.Guid != Guid.Empty) { contact.AppearOffline = true; Logger.Write("Blocked contact: " + contact.Account); } } foreach (string mailAddress in contactAddresses) { Contact contact = FindContactInList(mailAddress); if (contact == null || contact.Guid == Guid.Empty) { _messenger.ContactService.AddNewContact(mailAddress, "ARGUS TV is inviting you."); Logger.Write("Invited contact: " + contact.Account); reconnect = true; } else if (contact.AppearOffline) { contact.AppearOffline = false; Logger.Write("Unblocked contact: " + contact.Account); reconnect = true; } } } if (reconnect) { Thread.Sleep(1000); DisconnectMessenger(); } }
private void ValidateContacts() { Logger.Verbose("Validating Windows Live contacts..."); bool reconnect = false; AddressList contactAddresses = new AddressList( Proxies.ConfigurationService.GetStringValue(ConfigurationModule.Messenger, ConfigurationKey.Messenger.MsnContactList).Result); List<Contact> contactsToRemove = new List<Contact>(); foreach (Contact contact in _messenger.ContactList.Allowed) { if (!contactAddresses.Contains(contact.Account)) { contactsToRemove.Add(contact); } } foreach (Contact contact in contactsToRemove) { if (contact.Guid != Guid.Empty) { contact.AppearOffline = true; Logger.Write("Blocked contact: " + contact.Account); } } foreach (string mailAddress in contactAddresses) { Contact contact = FindContactInList(mailAddress); if (contact == null || contact.Guid == Guid.Empty) { _messenger.ContactService.AddNewContact(mailAddress, "ARGUS TV is inviting you."); Logger.Write("Invited contact: " + contact.Account); reconnect = true; } else if (contact.AppearOffline) { contact.AppearOffline = false; Logger.Write("Unblocked contact: " + contact.Account); reconnect = true; } } if (reconnect) { Thread.Sleep(1000); DisconnectMessenger(); } }