diff --git a/src/Umbraco.Web/Strategies/DataTypes/LegacyUploadFieldWorkaround.cs b/src/Umbraco.Web/Strategies/DataTypes/LegacyUploadFieldWorkaround.cs index aaac98c89c..443e27ef13 100644 --- a/src/Umbraco.Web/Strategies/DataTypes/LegacyUploadFieldWorkaround.cs +++ b/src/Umbraco.Web/Strategies/DataTypes/LegacyUploadFieldWorkaround.cs @@ -1,13 +1,10 @@ using System; using System.Drawing; using System.Globalization; -using System.IO; using System.Linq; -using System.Web; using System.Xml; using Umbraco.Core.Configuration; using Umbraco.Core.IO; -using Umbraco.Core.Models; using umbraco.interfaces; namespace Umbraco.Web.Strategies.DataTypes @@ -36,7 +33,7 @@ namespace Umbraco.Web.Strategies.DataTypes return; - FillProperties(sender.Content, property); + FillProperties(sender, property); } } @@ -49,11 +46,11 @@ namespace Umbraco.Web.Strategies.DataTypes return; - FillProperties(sender.MediaItem, property); + FillProperties(sender, property); } } - private void FillProperties(IContentBase content, global::umbraco.cms.businesslogic.property.Property property) + private void FillProperties(global::umbraco.cms.businesslogic.Content content, global::umbraco.cms.businesslogic.property.Property property) { XmlNode uploadFieldConfigNode = global::umbraco.UmbracoSettings.ImageAutoFillImageProperties.SelectSingleNode(string.Format("uploadField [@alias = \"{0}\"]", property.PropertyType.Alias)); @@ -87,14 +84,14 @@ namespace Umbraco.Web.Strategies.DataTypes } } - private void UpdateProperty(XmlNode uploadFieldConfigNode, IContentBase content, string propertyAlias, object propertyValue) + private void UpdateProperty(XmlNode uploadFieldConfigNode, global::umbraco.cms.businesslogic.Content content, string propertyAlias, object propertyValue) { XmlNode propertyNode = uploadFieldConfigNode.SelectSingleNode(propertyAlias); if (propertyNode != null && !String.IsNullOrEmpty(propertyNode.FirstChild.Value)) { - if (content.Properties.Contains(propertyNode.FirstChild.Value) && content.Properties[propertyNode.FirstChild.Value] != null) + if (content.GenericProperties.Any(x => x.PropertyType.Alias == propertyNode.FirstChild.Value) && content.getProperty(propertyNode.FirstChild.Value) != null) { - content.SetValue(propertyNode.FirstChild.Value, propertyValue); + content.getProperty(propertyNode.FirstChild.Value).Value = propertyValue; } } } diff --git a/src/umbraco.cms/businesslogic/media/Media.cs b/src/umbraco.cms/businesslogic/media/Media.cs index b7ca32efee..be489dae01 100644 --- a/src/umbraco.cms/businesslogic/media/Media.cs +++ b/src/umbraco.cms/businesslogic/media/Media.cs @@ -303,6 +303,9 @@ namespace umbraco.cms.businesslogic.media [Obsolete("Obsolete, Use Umbraco.Core.Services.MediaService.Save()", false)] public override void Save() { + SaveEventArgs e = new SaveEventArgs(); + FireBeforeSave(e); + foreach (var property in GenericProperties) { if (property.Value == null) @@ -311,9 +314,6 @@ namespace umbraco.cms.businesslogic.media MediaItem.SetValue(property.PropertyType.Alias, property.Value); } - SaveEventArgs e = new SaveEventArgs(); - FireBeforeSave(e); - if (!e.Cancel) { ApplicationContext.Current.Services.MediaService.Save(MediaItem); diff --git a/src/umbraco.cms/businesslogic/web/Document.cs b/src/umbraco.cms/businesslogic/web/Document.cs index e45ea54da7..d9135fefea 100644 --- a/src/umbraco.cms/businesslogic/web/Document.cs +++ b/src/umbraco.cms/businesslogic/web/Document.cs @@ -936,6 +936,9 @@ namespace umbraco.cms.businesslogic.web [Obsolete("Obsolete, Use Umbraco.Core.Services.ContentService.Save()", false)] public override void Save() { + var e = new SaveEventArgs(); + FireBeforeSave(e); + foreach (var property in GenericProperties) { if (property.Value == null) @@ -943,9 +946,6 @@ namespace umbraco.cms.businesslogic.web Content.SetValue(property.PropertyType.Alias, property.Value); } - - var e = new SaveEventArgs(); - FireBeforeSave(e); if (!e.Cancel) {