Example #1
0
        private void SaveCircleInverseInfo(CircleInverseInfoType[] inverseInfoList)
        {
            if (inverseInfoList != null)
            {
                foreach (CircleInverseInfoType circle in inverseInfoList)
                {
                    string lowerId = circle.Content.Handle.Id.ToLowerInvariant();

                    lock (CircleResults)
                    {

                        CircleResults[lowerId] = circle;
                    }
                }
            }
        }
Example #2
0
        /// <summary>
        /// Create a circle.
        /// </summary>
        /// <param name="me"></param>
        /// <param name="inverseInfo"></param>
        /// <returns></returns>
        private Contact CreateCircle(ContactType me, CircleInverseInfoType inverseInfo)
        {
            if (me == null || me.contactInfo == null)
            {
                Trace.WriteLineIf(Settings.TraceSwitch.TraceVerbose, "[CreateCircle] Cannot create circle since Me not found in addressbook.");
                return null;
            }

            if (inverseInfo == null || inverseInfo.PersonalInfo == null ||
                inverseInfo.Content == null || inverseInfo.Content.Info == null || inverseInfo.Content.Handle == null)
            {
                Trace.WriteLineIf(Settings.TraceSwitch.TraceVerbose, "[CreateCircle] Cannot create circle since inverse info not found in circle result list.");
                return null;
            }

            string circleMail = inverseInfo.Content.Handle.Id.ToLowerInvariant() + "@" + inverseInfo.Content.Info.HostedDomain.ToLowerInvariant();
            Contact circle = NSMessageHandler.ContactList.GetContactWithCreate(circleMail, IMAddressInfoType.Circle);

            circle.SetCircleInfo(inverseInfo, me);

            return circle;
        }
Example #3
0
        protected internal void SetCircleInfo(CircleInverseInfoType circleInfo, ContactType me)
        {
            MeContact = me;
            CID = me.contactInfo.CID;

            this.circleInfo = circleInfo;

            HostDomain = circleInfo.Content.Info.HostedDomain.ToLowerInvariant();
            CircleRole = circleInfo.PersonalInfo.MembershipInfo.CirclePersonalMembership.Role;

            SetName(circleInfo.Content.Info.DisplayName);
            SetNickName(Name);

            contactList = new ContactList(AddressBookId, new Owner(AddressBookId, me.contactInfo.passportName, me.contactInfo.CID, NSMessageHandler), this, NSMessageHandler);
            Lists = RoleLists.Allow | RoleLists.Forward;
        }