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