From 9df0f384afe2f06978c181972b6e58a8ccd8362b Mon Sep 17 00:00:00 2001 From: Shannon Date: Thu, 7 Feb 2019 12:02:47 +1100 Subject: [PATCH] Removes the need for another .Current and a lookup, simplifies the whole GetUrl for media --- src/Umbraco.Core/Models/MediaExtensions.cs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/Umbraco.Core/Models/MediaExtensions.cs b/src/Umbraco.Core/Models/MediaExtensions.cs index b7d72f6dd3..ff5e47394f 100644 --- a/src/Umbraco.Core/Models/MediaExtensions.cs +++ b/src/Umbraco.Core/Models/MediaExtensions.cs @@ -16,21 +16,17 @@ namespace Umbraco.Core.Models /// public static string GetUrl(this IMedia media, string propertyAlias, ILogger logger) { - var contentType = Current.Services.MediaTypeService.Get(media.ContentTypeId); - var propertyType = contentType.PropertyTypes.FirstOrDefault(x => x.Alias.InvariantEquals(propertyAlias)); - if (propertyType == null) return string.Empty; - - var val = media.Properties[propertyType]; - if (val == null) return string.Empty; + if (!media.Properties.TryGetValue(propertyAlias, out var property)) + return string.Empty; // TODO: would need to be adjusted to variations, when media become variants - var jsonString = val.GetValue() as string; + var jsonString = property?.GetValue() as string; if (jsonString == null) return string.Empty; - if (propertyType.PropertyEditorAlias == Constants.PropertyEditors.Aliases.UploadField) + if (property.PropertyType.PropertyEditorAlias == Constants.PropertyEditors.Aliases.UploadField) return jsonString; - if (propertyType.PropertyEditorAlias == Constants.PropertyEditors.Aliases.ImageCropper) + if (property.PropertyType.PropertyEditorAlias == Constants.PropertyEditors.Aliases.ImageCropper) { if (jsonString.DetectIsJson() == false) return jsonString;