From 36827cfa9f608659c2c7178b2d8fa8efb3437221 Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Fri, 8 Mar 2019 07:31:39 +0100 Subject: [PATCH] Move some of the multiget member methods to MembershipHelper --- src/Umbraco.Web/Security/MembershipHelper.cs | 35 ++++++++++++++++++++ src/Umbraco.Web/UmbracoHelper.cs | 24 +++++++------- 2 files changed, 47 insertions(+), 12 deletions(-) diff --git a/src/Umbraco.Web/Security/MembershipHelper.cs b/src/Umbraco.Web/Security/MembershipHelper.cs index 3bb6951d9a..c2d80257e1 100644 --- a/src/Umbraco.Web/Security/MembershipHelper.cs +++ b/src/Umbraco.Web/Security/MembershipHelper.cs @@ -289,11 +289,46 @@ namespace Umbraco.Web.Security return MemberCache.GetByProviderKey(key); } + public virtual IEnumerable GetByProviderKey(IEnumerable keys) + { + return keys?.Select(GetByProviderKey).WhereNotNull() ?? new IPublishedContent[0]; + } + + public virtual IEnumerable GetByProviderKey(params object[] keys) + { + return keys?.Select(GetByProviderKey).WhereNotNull() ?? new IPublishedContent[0]; + } + public virtual IPublishedContent GetById(int memberId) { return MemberCache.GetById(memberId); } + public virtual IEnumerable GetById(IEnumerable memberIds) + { + return memberIds?.Select(GetById).WhereNotNull() ?? new IPublishedContent[0]; + } + + public virtual IEnumerable GetById(params int[] memberIds) + { + return memberIds?.Select(GetById).WhereNotNull() ?? new IPublishedContent[0]; + } + + public virtual IPublishedContent GetById(Guid memberId) + { + return GetByProviderKey(memberId); + } + + public virtual IEnumerable GetById(IEnumerable memberIds) + { + return GetByProviderKey(memberIds.OfType()); + } + + public virtual IEnumerable GetById(params Guid[] memberIds) + { + return GetByProviderKey(memberIds.OfType()); + } + public virtual IPublishedContent GetByUsername(string username) { return MemberCache.GetByUsername(username); diff --git a/src/Umbraco.Web/UmbracoHelper.cs b/src/Umbraco.Web/UmbracoHelper.cs index 5d39f1c8dd..e9fdfd73e5 100644 --- a/src/Umbraco.Web/UmbracoHelper.cs +++ b/src/Umbraco.Web/UmbracoHelper.cs @@ -264,7 +264,7 @@ namespace Umbraco.Web public IPublishedContent Member(Guid id) { - return MembershipHelper.GetByProviderKey(id); + return MembershipHelper.GetById(id); } public IPublishedContent Member(object id) @@ -288,55 +288,55 @@ namespace Umbraco.Web var asInt = id.TryConvertTo(); return asInt ? MembershipHelper.GetById(asInt.Result) : MembershipHelper.GetByProviderKey(id); } - + public IEnumerable Member(IEnumerable ids) { - return ids.Select(id => Member(id)).WhereNotNull(); + return MembershipHelper.GetById(ids); } public IEnumerable Member(IEnumerable ids) { - return ids.Select(id => Member(id)).WhereNotNull(); + return ids.Select(Member).WhereNotNull(); } public IEnumerable Member(IEnumerable ids) { - return ids.Select(id => Member(id)).WhereNotNull(); + return MembershipHelper.GetById(ids); } public IEnumerable Member(IEnumerable ids) { - return ids.Select(id => Member(id)).WhereNotNull(); + return ids.Select(Member).WhereNotNull(); } public IEnumerable Member(IEnumerable ids) { - return ids.Select(id => Member(id)).WhereNotNull(); + return ids.Select(Member).WhereNotNull(); } public IEnumerable Member(params int[] ids) { - return ids.Select(id => Member(id)).WhereNotNull(); + return ids.Select(Member).WhereNotNull(); } public IEnumerable Member(params string[] ids) { - return ids.Select(id => Member(id)).WhereNotNull(); + return ids.Select(Member).WhereNotNull(); } public IEnumerable Member(params Guid[] ids) { - return ids.Select(id => Member(id)).WhereNotNull(); + return MembershipHelper.GetById(ids); } public IEnumerable Member(params Udi[] ids) { - return ids.Select(id => Member(id)).WhereNotNull(); + return ids.Select(Member).WhereNotNull(); } public IEnumerable Member(params object[] ids) { - return ids.Select(id => Member(id)).WhereNotNull(); + return ids.Select(Member).WhereNotNull(); } #endregion