From 59de0613f57571835cd9869394ad2111015f1fe8 Mon Sep 17 00:00:00 2001 From: Jeavon Leopold Date: Mon, 24 Mar 2014 11:43:55 +0000 Subject: [PATCH] GetCropUrl - Removing duplicate code --- .../ImageCropperTemplateExtensions.cs | 25 +----------------- src/Umbraco.Web/Models/ImageCropDataSet.cs | 26 ++++++++++++------- 2 files changed, 17 insertions(+), 34 deletions(-) diff --git a/src/Umbraco.Web/ImageCropperTemplateExtensions.cs b/src/Umbraco.Web/ImageCropperTemplateExtensions.cs index 126b135728..2d3566e9f9 100644 --- a/src/Umbraco.Web/ImageCropperTemplateExtensions.cs +++ b/src/Umbraco.Web/ImageCropperTemplateExtensions.cs @@ -93,30 +93,7 @@ namespace Umbraco.Web { var cropDataSet = imageCropperValue.SerializeToCropDataSet(); imageResizerUrl.Append(cropDataSet.Src); - var crop = cropDataSet.Crops.FirstOrDefault(x => cropAlias != null && x.Alias.ToLowerInvariant() == cropAlias.ToLowerInvariant()); - if (crop != null && crop.Coordinates != null) - { - imageResizerUrl.Append("?crop="); - imageResizerUrl.Append(crop.Coordinates.X1.ToString(System.Globalization.CultureInfo.InvariantCulture)).Append(","); - imageResizerUrl.Append(crop.Coordinates.Y1.ToString(System.Globalization.CultureInfo.InvariantCulture)).Append(","); - imageResizerUrl.Append(crop.Coordinates.X2.ToString(System.Globalization.CultureInfo.InvariantCulture)).Append(","); - imageResizerUrl.Append(crop.Coordinates.Y2.ToString(System.Globalization.CultureInfo.InvariantCulture)); - imageResizerUrl.Append("&cropmode=percentage"); - } - else - { - if (cropDataSet.HasFocalPoint()) - { - imageResizerUrl.Append("?center=" + cropDataSet.FocalPoint.Top.ToString(System.Globalization.CultureInfo.InvariantCulture) + "," + cropDataSet.FocalPoint.Left.ToString(System.Globalization.CultureInfo.InvariantCulture)); - imageResizerUrl.Append("&mode=crop"); - } - else - { - imageResizerUrl.Append("?anchor=center"); - imageResizerUrl.Append("&mode=crop"); - } - - } + imageResizerUrl.Append(cropDataSet.GetCropUrl(cropAlias, false, false)); } else { diff --git a/src/Umbraco.Web/Models/ImageCropDataSet.cs b/src/Umbraco.Web/Models/ImageCropDataSet.cs index ed618336ce..08d727b24a 100644 --- a/src/Umbraco.Web/Models/ImageCropDataSet.cs +++ b/src/Umbraco.Web/Models/ImageCropDataSet.cs @@ -20,7 +20,7 @@ namespace Umbraco.Web.Models public IEnumerable Crops { get; set; } - public string GetCropUrl(string alias) + public string GetCropUrl(string alias, bool addCropDimensions = true, bool addRandom = true) { var crop = Crops.GetCrop(alias); @@ -28,21 +28,21 @@ namespace Umbraco.Web.Models return null; - StringBuilder sb = new StringBuilder(); + var sb = new StringBuilder(); if (crop.Coordinates != null) { sb.Append("?crop="); - sb.Append(crop.Coordinates.X1).Append(","); - sb.Append(crop.Coordinates.Y1).Append(","); - sb.Append(crop.Coordinates.X2).Append(","); - sb.Append(crop.Coordinates.Y2); + sb.Append(crop.Coordinates.X1.ToString(System.Globalization.CultureInfo.InvariantCulture)).Append(","); + sb.Append(crop.Coordinates.Y1.ToString(System.Globalization.CultureInfo.InvariantCulture)).Append(","); + sb.Append(crop.Coordinates.X2.ToString(System.Globalization.CultureInfo.InvariantCulture)).Append(","); + sb.Append(crop.Coordinates.Y2.ToString(System.Globalization.CultureInfo.InvariantCulture)); sb.Append("&cropmode=percentage"); } else { if (HasFocalPoint()) { - sb.Append("?center=" + FocalPoint.Top + "," + FocalPoint.Left); + sb.Append("?center=" + FocalPoint.Top.ToString(System.Globalization.CultureInfo.InvariantCulture) + "," + FocalPoint.Left.ToString(System.Globalization.CultureInfo.InvariantCulture)); sb.Append("&mode=crop"); } else @@ -53,9 +53,15 @@ namespace Umbraco.Web.Models } - sb.Append("&width=").Append(crop.Width); - sb.Append("&height=").Append(crop.Height); - sb.Append("&rnd=").Append(DateTime.Now.Ticks); + if (addCropDimensions) + { + sb.Append("&width=").Append(crop.Width); + sb.Append("&height=").Append(crop.Height); + } + if (addRandom) + { + sb.Append("&rnd=").Append(DateTime.Now.Ticks); + } return sb.ToString(); }