public List <UserGroupStatus> MissingUsersInGroups() { var results = new List <UserGroupStatus>(); try { IDictionary <string, List <string> > usersGroups = null; if (SourceSiteCreds.SiteType == SiteType.WSS) { //TODO: Get usersGroups = this.SharePointRepository2007.GetWebUserGroups(); } else { usersGroups = this.SharePointRepository.GetSiteUserGroups(SourceClientContext); } foreach (var userGroup in usersGroups) { if (!this.SharePointRepository.GroupExists(TargetClientContext, userGroup.Key)) { continue; } foreach (var user in userGroup.Value) { string newUpn = user; if (UserMapping != null && UserMapping.GetUserMappingList().Count > 0) { newUpn = UserMapping.FindNewUpn(user); } if (newUpn == string.Empty) { //Missing in the users mapping results.Add(new UserGroupStatus { LoginName = user, GroupName = userGroup.Key, UserInGroupStatus = UserStatus.NotPresentInUserMapping }); continue; } if (!this.SharePointRepository.UserExistsInGroup(TargetClientContext, userGroup.Key, newUpn)) { //misisng in the group results.Add(new UserGroupStatus { LoginName = newUpn, GroupName = userGroup.Key, UserInGroupStatus = UserStatus.NotPresentInSharePointGroup }); continue; } } } } catch (Exception ex) { logger.Log(LogLevel.Error, ex); } return(results); }