From 0696694919fe4589408dc3272acb0d34cf25669a Mon Sep 17 00:00:00 2001 From: Tobias Klika Date: Wed, 25 Nov 2020 16:04:00 +0100 Subject: [PATCH] helpers --- zero.Core/Extensions/NumberExtensions.cs | 18 ++++++++++++++++++ zero.Core/Extensions/QueryableExtensions.cs | 3 +++ zero.Web/ViewHelpers/ZeroMediaHelper.cs | 4 ++-- 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 zero.Core/Extensions/NumberExtensions.cs diff --git a/zero.Core/Extensions/NumberExtensions.cs b/zero.Core/Extensions/NumberExtensions.cs new file mode 100644 index 00000000..98bd9b62 --- /dev/null +++ b/zero.Core/Extensions/NumberExtensions.cs @@ -0,0 +1,18 @@ +namespace zero.Core.Extensions +{ + public static class NumberExtensions + { + public static int Limit(this int input, int min, int max) + { + if (input < min) + { + return min; + } + if (input > max) + { + return max; + } + return input; + } + } +} diff --git a/zero.Core/Extensions/QueryableExtensions.cs b/zero.Core/Extensions/QueryableExtensions.cs index f0ad947c..d0d540f0 100644 --- a/zero.Core/Extensions/QueryableExtensions.cs +++ b/zero.Core/Extensions/QueryableExtensions.cs @@ -48,6 +48,9 @@ namespace zero.Core.Extensions public static IQueryable Paging(this IQueryable source, int pageNumber, int pageSize) { + pageNumber = pageNumber.Limit(1, 10_000_000); + pageSize = pageSize.Limit(1, 1_000); + if (pageNumber <= 0 || pageSize <= 0) { throw new NotSupportedException("Both pageNumber and pageSize must be greater than zero"); diff --git a/zero.Web/ViewHelpers/ZeroMediaHelper.cs b/zero.Web/ViewHelpers/ZeroMediaHelper.cs index c309a4ca..20aa4533 100644 --- a/zero.Web/ViewHelpers/ZeroMediaHelper.cs +++ b/zero.Web/ViewHelpers/ZeroMediaHelper.cs @@ -83,7 +83,7 @@ namespace zero.Web.ViewHelpers public async Task GetUrl(string id, bool isAbsolute = false) { IMedia media = await GetById(id); - return media?.Source; + return media?.Source.TrimStart("url://"); } @@ -91,7 +91,7 @@ namespace zero.Web.ViewHelpers public async Task> GetUrls(string[] ids, bool isAbsolute = false) { Dictionary medias = await GetByIds(ids); - return medias.ToDictionary(x => x.Key, x => x.Value?.Source); + return medias.ToDictionary(x => x.Key, x => x.Value?.Source.TrimStart("url://")); } }