From 1c139b685af5480820eea0a451a2ea3599215d47 Mon Sep 17 00:00:00 2001 From: Shannon Date: Fri, 20 Dec 2013 18:12:54 +1100 Subject: [PATCH] updates legacy membership provider to use efficient paging. --- src/Umbraco.Tests/Views/web.config | 55 ------------------- .../Providers/MembersMembershipProvider.cs | 8 +-- .../members/UmbracoMembershipProvider.cs | 29 +++------- 3 files changed, 9 insertions(+), 83 deletions(-) delete mode 100644 src/Umbraco.Tests/Views/web.config diff --git a/src/Umbraco.Tests/Views/web.config b/src/Umbraco.Tests/Views/web.config deleted file mode 100644 index aa5e0eb2e3..0000000000 --- a/src/Umbraco.Tests/Views/web.config +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Umbraco.Web/Security/Providers/MembersMembershipProvider.cs b/src/Umbraco.Web/Security/Providers/MembersMembershipProvider.cs index d1b9c9a14e..5e263f76a4 100644 --- a/src/Umbraco.Web/Security/Providers/MembersMembershipProvider.cs +++ b/src/Umbraco.Web/Security/Providers/MembersMembershipProvider.cs @@ -204,11 +204,8 @@ namespace Umbraco.Web.Security.Providers public override MembershipUserCollection FindUsersByEmail(string emailToMatch, int pageIndex, int pageSize, out int totalRecords) { var byEmail = MemberService.FindMembersByEmail(emailToMatch, pageIndex, pageSize, out totalRecords, StringPropertyMatchType.Wildcard).ToArray(); - //totalRecords = byEmail.Length; - //var pagedResult = new PagedResult(totalRecords, pageIndex, pageSize); - + var collection = new MembershipUserCollection(); - //foreach (var m in byEmail.Skip(pagedResult.SkipSize).Take(pageSize)) foreach (var m in byEmail) { collection.Add(m.AsConcreteMembershipUser()); @@ -229,11 +226,8 @@ namespace Umbraco.Web.Security.Providers public override MembershipUserCollection FindUsersByName(string usernameToMatch, int pageIndex, int pageSize, out int totalRecords) { var byEmail = MemberService.FindMembersByUsername(usernameToMatch, pageIndex, pageSize, out totalRecords, StringPropertyMatchType.Wildcard).ToArray(); - //totalRecords = byEmail.Length; - //var pagedResult = new PagedResult(totalRecords, pageIndex, pageSize); var collection = new MembershipUserCollection(); - //foreach (var m in byEmail.Skip(pagedResult.SkipSize).Take(pageSize)) foreach (var m in byEmail) { collection.Add(m.AsConcreteMembershipUser()); diff --git a/src/umbraco.providers/members/UmbracoMembershipProvider.cs b/src/umbraco.providers/members/UmbracoMembershipProvider.cs index 6bac76be81..fa3a70804e 100644 --- a/src/umbraco.providers/members/UmbracoMembershipProvider.cs +++ b/src/umbraco.providers/members/UmbracoMembershipProvider.cs @@ -344,11 +344,8 @@ namespace umbraco.providers.members public override MembershipUserCollection FindUsersByEmail(string emailToMatch, int pageIndex, int pageSize, out int totalRecords) { var byEmail = ApplicationContext.Current.Services.MemberService.FindMembersByEmail(emailToMatch, pageIndex, pageSize, out totalRecords, StringPropertyMatchType.Wildcard).ToArray(); - //totalRecords = byEmail.Length; - //var pagedResult = new PagedResult(totalRecords, pageIndex, pageSize); - - var collection = new MembershipUserCollection(); - //foreach (var m in byEmail.Skip(pagedResult.SkipSize).Take(pageSize)) + + var collection = new MembershipUserCollection(); foreach (var m in byEmail) { collection.Add(ConvertToMembershipUser(m)); @@ -369,11 +366,8 @@ namespace umbraco.providers.members public override MembershipUserCollection FindUsersByName(string usernameToMatch, int pageIndex, int pageSize, out int totalRecords) { var byEmail = ApplicationContext.Current.Services.MemberService.FindMembersByUsername(usernameToMatch, pageIndex, pageSize, out totalRecords, StringPropertyMatchType.Wildcard).ToArray(); - //totalRecords = byEmail.Length; - //var pagedResult = new PagedResult(totalRecords, pageIndex, pageSize); - - var collection = new MembershipUserCollection(); - //foreach (var m in byEmail.Skip(pagedResult.SkipSize).Take(pageSize)) + + var collection = new MembershipUserCollection(); foreach (var m in byEmail) { collection.Add(ConvertToMembershipUser(m)); @@ -392,22 +386,15 @@ namespace umbraco.providers.members /// public override MembershipUserCollection GetAllUsers(int pageIndex, int pageSize, out int totalRecords) { - var counter = 0; - var startIndex = pageSize * pageIndex; - var endIndex = startIndex + pageSize - 1; var membersList = new MembershipUserCollection(); - var memberArray = Member.GetAll; - totalRecords = memberArray.Length; - foreach (var m in memberArray) + var pagedMembers = ApplicationContext.Current.Services.MemberService.GetAllMembers(pageIndex, pageSize, out totalRecords); + + foreach (var m in pagedMembers) { - if (counter >= startIndex) - membersList.Add(ConvertToMembershipUser(m)); - if (counter >= endIndex) break; - counter++; + membersList.Add(ConvertToMembershipUser(m)); } return membersList; - } ///