Ejemplo n.º 1
0
        internal static List <PropValueData> GetContactProperties(ApplicationData applicationData)
        {
            List <PropValueData> list = new List <PropValueData>();

            list.Add(new PropValueData(PropTag.PartnerNetworkId, "outlook.com"));
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.WeddingAnniversary, applicationData.Birthday);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.Assistant, applicationData.AssistantName);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.AssistantTelephoneNumber, applicationData.AssistantPhoneNumber);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.Birthday, applicationData.Birthday);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.Business2TelephoneNumber, applicationData.Business2PhoneNumber);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, (PropTag)SyncContactSchema.WorkAddressCity, applicationData.BusinessAddressCity);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.BusinessTelephoneNumber, applicationData.BusinessPhoneNumber);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, (PropTag)SyncContactSchema.LegacyWebPage, applicationData.WebPage);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, (PropTag)SyncContactSchema.WorkAddressCountry, applicationData.BusinessAddressCountry);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.DepartmentName, applicationData.Department);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, (PropTag)SyncContactSchema.Email1EmailAddress, applicationData.Email1Address);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, (PropTag)SyncContactSchema.Email2EmailAddress, applicationData.Email2Address);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, (PropTag)SyncContactSchema.Email3EmailAddress, applicationData.Email3Address);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.BusinessFaxNumber, applicationData.BusinessFaxNumber);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, (PropTag)SyncContactSchema.FileAsStringInternal, applicationData.FileAs);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.NormalizedSubject, applicationData.FileAs);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.GivenName, applicationData.FirstName);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.Account, applicationData.FirstName);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.MiddleName, applicationData.MiddleName);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.HomeAddressCity, applicationData.HomeAddressCity);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.HomeAddressCountry, applicationData.HomeAddressCountry);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.HomeFaxNumber, applicationData.HomeFaxNumber);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.HomeTelephoneNumber, applicationData.HomePhoneNumber);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.Home2TelephoneNumber, applicationData.Home2PhoneNumber);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.HomeAddressPostalCode, applicationData.HomeAddressPostalCode);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.HomeAddressStateOrProvince, applicationData.HomeAddressState);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.HomeAddressStreet, applicationData.HomeAddressStreet);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.MobileTelephoneNumber, applicationData.MobilePhoneNumber);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.CompanyName, applicationData.CompanyName);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.OtherAddressCity, applicationData.OtherAddressCity);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.OtherAddressCountry, applicationData.OtherAddressCountry);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.CarTelephoneNumber, applicationData.CarPhoneNumber);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.OtherAddressPostalCode, applicationData.OtherAddressPostalCode);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.OtherAddressStateOrProvince, applicationData.OtherAddressState);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.OtherAddressStreet, applicationData.OtherAddressStreet);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.PagerTelephoneNumber, applicationData.PagerNumber);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, (PropTag)SyncContactSchema.WorkAddressPostalCode, applicationData.BusinessAddressPostalCode);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.Surname, applicationData.LastName);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.SpouseName, applicationData.Spouse);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, (PropTag)SyncContactSchema.WorkAddressState, applicationData.BusinessAddressState);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, (PropTag)SyncContactSchema.WorkAddressStreet, applicationData.BusinessAddressStreet);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.Title, applicationData.JobTitle);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, (PropTag)SyncContactSchema.YomiFirstName, applicationData.YomiFirstName);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, (PropTag)SyncContactSchema.YomiLastName, applicationData.YomiLastName);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, (PropTag)SyncContactSchema.YomiCompany, applicationData.YomiCompanyName);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.OfficeLocation, applicationData.OfficeLocation);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.RadioTelephoneNumber, applicationData.RadioPhoneNumber);
            EasFxContactMessage.AddToContactPropertiesIfValid(list, PropTag.PartnerNetworkThumbnailPhotoUrl, applicationData.Picture);
            if (applicationData.FirstName != null && applicationData.LastName != null)
            {
                EasFxContactMessage.AddToContactPropertiesIfValid(list, (PropTag)SyncContactSchema.DisplayNameFirstLast, applicationData.FirstName + " " + applicationData.LastName);
                EasFxContactMessage.AddToContactPropertiesIfValid(list, (PropTag)SyncContactSchema.DisplayNameLastFirst, applicationData.LastName + " " + applicationData.FirstName);
            }
            return(list);
        }
Ejemplo n.º 2
0
        private static void CopyContactItem(MessageRec messageRec, IFolderProxy folderProxy)
        {
            ArgumentValidator.ThrowIfNull("messageRec", messageRec);
            ArgumentValidator.ThrowIfNull("folderProxy", folderProxy);
            EasFxContactMessage message = new EasFxContactMessage(messageRec);

            FxUtils.CopyItem(messageRec, message, folderProxy, EasSourceMailbox.EmptyPropTagArray);
        }
Ejemplo n.º 3
0
        private static FxPropertyBag CreatePropertyBag(MessageRec messageRec)
        {
            FxPropertyBag result = new FxPropertyBag(new FxSession(SyncContactSchema.PropertyTagToNamedProperties));

            foreach (PropertyTag propertyTag in SyncContactSchema.AllContactPropertyTags)
            {
                EasFxContactMessage.SetIfValid(result, propertyTag, messageRec[(PropTag)propertyTag]);
            }
            return(result);
        }
Ejemplo n.º 4
0
        private PropValueData[] GetAdditionalProps(AddCommand add)
        {
            List <PropValueData> list = new List <PropValueData>();

            list.Add(new PropValueData(PropTag.LastModificationTime, CommonUtils.DefaultLastModificationTime));
            list.Add(new PropValueData(PropTag.ObjectType, 0));
            if (EasFolder.IsContactFolder(base.EasFolderType))
            {
                List <PropValueData> contactProperties = EasFxContactMessage.GetContactProperties(add.ApplicationData);
                if (contactProperties.Count > 0)
                {
                    list.AddRange(contactProperties);
                }
            }
            return(SyncEmailUtils.GetMessageProps(new SyncEmailContext
            {
                IsRead = new bool?(add.IsRead()),
                IsDraft = new bool?(base.EasFolderType == EasFolderType.Drafts),
                SyncMessageId = add.ServerId
            }, this.UserSmtpAddressString, base.EntryId, list.ToArray()));
        }
Ejemplo n.º 5
0
        private PropValueData[] GetAdditionalProps(ChangeCommand change)
        {
            bool?isRead = change.IsRead();
            EasMessageCategory   easMessageCategory = (isRead == null) ? EasMessageCategory.AddOrUpdate : (isRead.Value ? EasMessageCategory.ChangeToRead : EasMessageCategory.ChangeToUnread);
            List <PropValueData> list = new List <PropValueData>();

            list.Add(new PropValueData(PropTag.LastModificationTime, DateTime.UtcNow));
            list.Add(new PropValueData(PropTag.ObjectType, (int)easMessageCategory));
            if (EasFolder.IsContactFolder(base.EasFolderType))
            {
                List <PropValueData> contactProperties = EasFxContactMessage.GetContactProperties(change.ApplicationData);
                if (contactProperties.Count > 0)
                {
                    list.AddRange(contactProperties);
                }
            }
            return(SyncEmailUtils.GetMessageProps(new SyncEmailContext
            {
                IsRead = isRead,
                IsDraft = new bool?(base.EasFolderType == EasFolderType.Drafts),
                SyncMessageId = change.ServerId
            }, this.UserSmtpAddressString, base.EntryId, list.ToArray()));
        }
Ejemplo n.º 6
0
 public EasFxContactMessage(MessageRec messageRec)
 {
     ArgumentValidator.ThrowIfNull("messageRec", messageRec);
     this.propertyBag = EasFxContactMessage.CreatePropertyBag(messageRec);
 }