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); } }
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); }