Exemple #1
0
        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();
            }
        }
Exemple #2
0
        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();
            }
        }