コード例 #1
0
        protected void MergeAndUpdate(InternalApi.Entities.TEApiUser internalUser, List <string> internalFields, InternalApi.Entities.User externalUser, List <string> externalFields, List <InternalApi.Entities.UserFieldMapping> mappedFields)
        {
            var mergeResult = ExecuteProfileSyncHelper.MergeUsers(externalUser, internalUser, mappedFields);

            try
            {
                if ((mergeResult & ExecuteProfileSyncHelper.MergeResult.InternalUpdated) == ExecuteProfileSyncHelper.MergeResult.InternalUpdated)
                {
                    ExecuteProfileSyncHelper.UpdateInternalUser(internalUser, internalFields);
                }
            }
            catch (Exception ex)
            {
                var msg = string.Format("Error updating internal user. User id = {0}/{1}", internalUser.Id, internalUser.Email ?? string.Empty);
                SPLog.UserProfileUpdated(ex, msg);
            }

            try
            {
                if ((mergeResult & ExecuteProfileSyncHelper.MergeResult.ExternalUpdated) == ExecuteProfileSyncHelper.MergeResult.ExternalUpdated)
                {
                    ProfileSyncService.Update(externalUser, externalFields);
                }
            }
            catch (Exception ex)
            {
                var msg = string.Format("Error updating external user. User id = {0}/{1}", externalUser.Id, externalUser.Email ?? string.Empty);
                SPLog.UserProfileUpdated(ex, msg);
            }
        }
コード例 #2
0
        protected InternalApi.Entities.TEApiUser InitInternalUser(User internalUser)
        {
            var teApiUser = new InternalApi.Entities.TEApiUser(ExecuteProfileSyncHelper.TelligentId, ExecuteProfileSyncHelper.TelligentEmail, internalUser)
            {
                Fields = ExecuteProfileSyncHelper.GetInternalUserFields(internalUser)
            };

            if (internalUser.ExtendedAttributes == null)
            {
                return(teApiUser);
            }

            foreach (var extendedAttr in internalUser.ExtendedAttributes)
            {
                teApiUser.ExtendedAttributes.Add(extendedAttr.Key, extendedAttr.Value);
            }

            return(teApiUser);
        }