From fa40f4d8b0a54bd9a28b1e5020546182646a56db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojciech=20Gadzi=C5=84ski?= Date: Sun, 26 Apr 2015 23:21:08 +0200 Subject: [PATCH 1/5] Cleanup formatting and references --- src/Orchard.Web/Core/Common/Utilities/LazyField.cs | 6 +++--- .../Orchard.Azure.MediaServices/Models/Assets/Asset.cs | 2 -- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/Orchard.Web/Core/Common/Utilities/LazyField.cs b/src/Orchard.Web/Core/Common/Utilities/LazyField.cs index d0d879bcc..1a6335948 100644 --- a/src/Orchard.Web/Core/Common/Utilities/LazyField.cs +++ b/src/Orchard.Web/Core/Common/Utilities/LazyField.cs @@ -7,8 +7,8 @@ namespace Orchard.Core.Common.Utilities { private Func _setter; public T Value { - get {return GetValue();} - set {SetValue(value);} + get { return GetValue(); } + set { SetValue(value); } } public void Loader(Func loader) { @@ -22,7 +22,7 @@ namespace Orchard.Core.Common.Utilities { private T GetValue() { if (_loader != null) { _value = _loader(); - _loader = null; + _loader = null; } return _value; } diff --git a/src/Orchard.Web/Modules/Orchard.Azure.MediaServices/Models/Assets/Asset.cs b/src/Orchard.Web/Modules/Orchard.Azure.MediaServices/Models/Assets/Asset.cs index 60134a6e7..acc8853bc 100644 --- a/src/Orchard.Web/Modules/Orchard.Azure.MediaServices/Models/Assets/Asset.cs +++ b/src/Orchard.Web/Modules/Orchard.Azure.MediaServices/Models/Assets/Asset.cs @@ -1,8 +1,6 @@ using System; -using System.Collections; using System.Collections.Generic; using Orchard.Azure.MediaServices.Models.Records; -using Microsoft.WindowsAzure.MediaServices.Client; using Orchard.ContentManagement.FieldStorage; using Orchard.Core.Common.Utilities; using Orchard.FileSystems.Media; From 6afbc78395fdfe1266ee43ddedd7c4758d29cfce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojciech=20Gadzi=C5=84ski?= Date: Sun, 26 Apr 2015 23:23:11 +0200 Subject: [PATCH 2/5] Make Orchard.Core.Common.Utilities.LazyField [Obsolete] --- src/Orchard.Web/Core/Common/Utilities/LazyField.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Orchard.Web/Core/Common/Utilities/LazyField.cs b/src/Orchard.Web/Core/Common/Utilities/LazyField.cs index 1a6335948..dfacf3552 100644 --- a/src/Orchard.Web/Core/Common/Utilities/LazyField.cs +++ b/src/Orchard.Web/Core/Common/Utilities/LazyField.cs @@ -1,6 +1,7 @@ using System; namespace Orchard.Core.Common.Utilities { + [Obsolete("Use Orchard.ContentManagement.Utilities.LazyField instead.")] public class LazyField { private T _value; private Func _loader; From b9973d91d84d612fe1c0ba54ad984677b7e6427b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojciech=20Gadzi=C5=84ski?= Date: Sun, 26 Apr 2015 23:56:04 +0200 Subject: [PATCH 3/5] Move all usages of LazyField to Orchard.ContentManagement.Utilities.LazyField There is one change which have to verify: Orchard.ContentManagement.Handlers.StorageFilter Orchard.ContentManagement.Handlers.StorageVersionFilter because I removed _value parameter from loader delegate - it was pointless and used nowhere except above filters. --- src/Orchard.Web/Core/Common/Models/CommonPart.cs | 2 +- src/Orchard.Web/Core/Containers/Models/ContainerPart.cs | 2 +- .../Core/Navigation/Handlers/MenuPartHandler.cs | 4 ++-- .../Handlers/ArchiveLaterPartHandler.cs | 2 +- .../Orchard.AuditTrail/Models/AuditTrailSettingsPart.cs | 2 +- .../Orchard.Azure.MediaServices/Models/Assets/Asset.cs | 2 +- .../Orchard.Azure.MediaServices/Models/Jobs/Job.cs | 2 +- .../Orchard.Azure.MediaServices/Models/Jobs/Task.cs | 2 +- .../Orchard.Comments/Handlers/CommentPartHandler.cs | 4 ++-- .../Orchard.Comments/Handlers/CommentsPartHandler.cs | 4 ++-- .../Handlers/ContentMenuItemPartHandler.cs | 2 +- .../Handlers/ContentPickerFieldHandler.cs | 2 +- .../Orchard.Email/Handlers/SmtpSettingsPartHandler.cs | 2 +- .../Handlers/LocalizationPartHandler.cs | 4 ++-- .../Orchard.MediaLibrary/Handlers/MediaPartHandler.cs | 2 +- .../Handlers/MediaGalleryFieldHandler.cs | 2 +- .../Handlers/PublishLaterPartHandler.cs | 2 +- .../Orchard.Roles/Handlers/UserRolesPartHandler.cs | 2 +- .../Modules/Orchard.Tags/Handlers/TagCloudHandler.cs | 2 +- .../Orchard.Taxonomies/Handlers/TaxonomyPartHandler.cs | 2 +- .../Orchard.Taxonomies/Handlers/TermsPartHandler.cs | 4 ++-- src/Orchard/ContentManagement/Handlers/StorageFilter.cs | 8 ++++++-- .../ContentManagement/Handlers/StorageVersionFilter.cs | 5 ++++- src/Orchard/ContentManagement/Utilities/LazyField.cs | 6 +++--- 24 files changed, 39 insertions(+), 32 deletions(-) diff --git a/src/Orchard.Web/Core/Common/Models/CommonPart.cs b/src/Orchard.Web/Core/Common/Models/CommonPart.cs index 188f6afd0..6e8274286 100644 --- a/src/Orchard.Web/Core/Common/Models/CommonPart.cs +++ b/src/Orchard.Web/Core/Common/Models/CommonPart.cs @@ -1,7 +1,7 @@ using System; -using Orchard.Core.Common.Utilities; using Orchard.ContentManagement; using Orchard.ContentManagement.Aspects; +using Orchard.ContentManagement.Utilities; using Orchard.Security; namespace Orchard.Core.Common.Models { diff --git a/src/Orchard.Web/Core/Containers/Models/ContainerPart.cs b/src/Orchard.Web/Core/Containers/Models/ContainerPart.cs index b0230123a..fc38ad8ca 100644 --- a/src/Orchard.Web/Core/Containers/Models/ContainerPart.cs +++ b/src/Orchard.Web/Core/Containers/Models/ContainerPart.cs @@ -2,7 +2,7 @@ using Orchard.ContentManagement; using Orchard.ContentManagement.MetaData.Models; using Orchard.ContentManagement.Records; -using Orchard.Core.Common.Utilities; +using Orchard.ContentManagement.Utilities; using Orchard.Core.Containers.Services; using Orchard.Core.Containers.Settings; using Orchard.UI.Navigation; diff --git a/src/Orchard.Web/Core/Navigation/Handlers/MenuPartHandler.cs b/src/Orchard.Web/Core/Navigation/Handlers/MenuPartHandler.cs index 92c367935..b2c9740e7 100644 --- a/src/Orchard.Web/Core/Navigation/Handlers/MenuPartHandler.cs +++ b/src/Orchard.Web/Core/Navigation/Handlers/MenuPartHandler.cs @@ -35,7 +35,7 @@ namespace Orchard.Core.Navigation.Handlers { return menu; }); - menuPart.MenuField.Loader(ctx => + menuPart.MenuField.Loader(() => _contentManager.Get(menuPart.Record.MenuId, menuPart.IsPublished() ? VersionOptions.Published : VersionOptions.Latest) ); } @@ -46,7 +46,7 @@ namespace Orchard.Core.Navigation.Handlers { if (part != null) { string stereotype; if (context.ContentItem.TypeDefinition.Settings.TryGetValue("Stereotype", out stereotype) && stereotype == "MenuItem") { - context.Metadata.DisplayText = part.MenuText; + context.Metadata.DisplayText = part.MenuText; } } } diff --git a/src/Orchard.Web/Modules/Orchard.ArchiveLater/Handlers/ArchiveLaterPartHandler.cs b/src/Orchard.Web/Modules/Orchard.ArchiveLater/Handlers/ArchiveLaterPartHandler.cs index 6156530e7..fa017f01f 100644 --- a/src/Orchard.Web/Modules/Orchard.ArchiveLater/Handlers/ArchiveLaterPartHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.ArchiveLater/Handlers/ArchiveLaterPartHandler.cs @@ -14,7 +14,7 @@ namespace Orchard.ArchiveLater.Handlers { } protected void LazyLoadHandlers(ArchiveLaterPart part) { - part.ScheduledArchiveUtc.Loader((value) => _archiveLaterService.GetScheduledArchiveUtc(part)); + part.ScheduledArchiveUtc.Loader(() => _archiveLaterService.GetScheduledArchiveUtc(part)); } } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Models/AuditTrailSettingsPart.cs b/src/Orchard.Web/Modules/Orchard.AuditTrail/Models/AuditTrailSettingsPart.cs index 7554f81c1..b7824b81d 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Models/AuditTrailSettingsPart.cs +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Models/AuditTrailSettingsPart.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; using Orchard.ContentManagement; -using Orchard.Core.Common.Utilities; +using Orchard.ContentManagement.Utilities; namespace Orchard.AuditTrail.Models { public class AuditTrailSettingsPart : ContentPart { diff --git a/src/Orchard.Web/Modules/Orchard.Azure.MediaServices/Models/Assets/Asset.cs b/src/Orchard.Web/Modules/Orchard.Azure.MediaServices/Models/Assets/Asset.cs index acc8853bc..af570c998 100644 --- a/src/Orchard.Web/Modules/Orchard.Azure.MediaServices/Models/Assets/Asset.cs +++ b/src/Orchard.Web/Modules/Orchard.Azure.MediaServices/Models/Assets/Asset.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using Orchard.Azure.MediaServices.Models.Records; using Orchard.ContentManagement.FieldStorage; -using Orchard.Core.Common.Utilities; +using Orchard.ContentManagement.Utilities; using Orchard.FileSystems.Media; namespace Orchard.Azure.MediaServices.Models.Assets { diff --git a/src/Orchard.Web/Modules/Orchard.Azure.MediaServices/Models/Jobs/Job.cs b/src/Orchard.Web/Modules/Orchard.Azure.MediaServices/Models/Jobs/Job.cs index 6489fd2bb..39e2c75c4 100644 --- a/src/Orchard.Web/Modules/Orchard.Azure.MediaServices/Models/Jobs/Job.cs +++ b/src/Orchard.Web/Modules/Orchard.Azure.MediaServices/Models/Jobs/Job.cs @@ -3,7 +3,7 @@ using System.Linq; using System.Collections.Generic; using Orchard.Azure.MediaServices.Helpers; using Orchard.Azure.MediaServices.Models.Records; -using Orchard.Core.Common.Utilities; +using Orchard.ContentManagement.Utilities; namespace Orchard.Azure.MediaServices.Models.Jobs { public class Job { diff --git a/src/Orchard.Web/Modules/Orchard.Azure.MediaServices/Models/Jobs/Task.cs b/src/Orchard.Web/Modules/Orchard.Azure.MediaServices/Models/Jobs/Task.cs index 6a0f9020b..1f73c84ec 100644 --- a/src/Orchard.Web/Modules/Orchard.Azure.MediaServices/Models/Jobs/Task.cs +++ b/src/Orchard.Web/Modules/Orchard.Azure.MediaServices/Models/Jobs/Task.cs @@ -1,6 +1,6 @@ using System.Xml.Linq; using Orchard.Azure.MediaServices.Models.Records; -using Orchard.Core.Common.Utilities; +using Orchard.ContentManagement.Utilities; namespace Orchard.Azure.MediaServices.Models.Jobs { public class Task { diff --git a/src/Orchard.Web/Modules/Orchard.Comments/Handlers/CommentPartHandler.cs b/src/Orchard.Web/Modules/Orchard.Comments/Handlers/CommentPartHandler.cs index b284c39fb..375e059c6 100644 --- a/src/Orchard.Web/Modules/Orchard.Comments/Handlers/CommentPartHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.Comments/Handlers/CommentPartHandler.cs @@ -16,11 +16,11 @@ namespace Orchard.Comments.Handlers { OnLoading((context, comment) => { comment.CommentedOnContentItemField.Loader( - item => contentManager.Get(comment.CommentedOn) + () => contentManager.Get(comment.CommentedOn) ); comment.CommentedOnContentItemMetadataField.Loader( - item => contentManager.GetItemMetadata(comment.CommentedOnContentItem) + () => contentManager.GetItemMetadata(comment.CommentedOnContentItem) ); }); diff --git a/src/Orchard.Web/Modules/Orchard.Comments/Handlers/CommentsPartHandler.cs b/src/Orchard.Web/Modules/Orchard.Comments/Handlers/CommentsPartHandler.cs index 3d1fb988e..a6c14f2e0 100644 --- a/src/Orchard.Web/Modules/Orchard.Comments/Handlers/CommentsPartHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.Comments/Handlers/CommentsPartHandler.cs @@ -22,13 +22,13 @@ namespace Orchard.Comments.Handlers { }); OnLoading((context, comments) => { - comments.CommentsField.Loader(list => + comments.CommentsField.Loader(() => commentService.GetCommentsForCommentedContent(context.ContentItem.Id) .Where(x => x.Status == CommentStatus.Approved) .OrderBy(x => x.Position) .List().ToList()); - comments.PendingCommentsField.Loader(list => + comments.PendingCommentsField.Loader(() => commentService.GetCommentsForCommentedContent(context.ContentItem.Id) .Where(x => x.Status == CommentStatus.Pending) .List().ToList()); diff --git a/src/Orchard.Web/Modules/Orchard.ContentPicker/Handlers/ContentMenuItemPartHandler.cs b/src/Orchard.Web/Modules/Orchard.ContentPicker/Handlers/ContentMenuItemPartHandler.cs index 7d545e8e3..5c16f2c8d 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentPicker/Handlers/ContentMenuItemPartHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.ContentPicker/Handlers/ContentMenuItemPartHandler.cs @@ -12,7 +12,7 @@ namespace Orchard.ContentPicker.Handlers { Filters.Add(new ActivatingFilter("ContentMenuItem")); Filters.Add(StorageFilter.For(repository)); - OnLoading((context, part) => part._content.Loader(p => { + OnLoading((context, part) => part._content.Loader(() => { if (part.ContentItemId != null) { return contentManager.Get(part.ContentItemId.Value); } diff --git a/src/Orchard.Web/Modules/Orchard.ContentPicker/Handlers/ContentPickerFieldHandler.cs b/src/Orchard.Web/Modules/Orchard.ContentPicker/Handlers/ContentPickerFieldHandler.cs index 25be685d4..0a0fda86c 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentPicker/Handlers/ContentPickerFieldHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.ContentPicker/Handlers/ContentPickerFieldHandler.cs @@ -30,7 +30,7 @@ namespace Orchard.ContentPicker.Handlers { foreach (var field in fields) { var localField = field; - field._contentItems.Loader(x => _contentManager.GetMany(localField.Ids, VersionOptions.Published, QueryHints.Empty)); + field._contentItems.Loader(() => _contentManager.GetMany(localField.Ids, VersionOptions.Published, QueryHints.Empty)); } } } diff --git a/src/Orchard.Web/Modules/Orchard.Email/Handlers/SmtpSettingsPartHandler.cs b/src/Orchard.Web/Modules/Orchard.Email/Handlers/SmtpSettingsPartHandler.cs index 50ca2593a..6ace954d1 100644 --- a/src/Orchard.Web/Modules/Orchard.Email/Handlers/SmtpSettingsPartHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.Email/Handlers/SmtpSettingsPartHandler.cs @@ -47,7 +47,7 @@ namespace Orchard.Email.Handlers { part.Store(x => x.Password, encryptedPassword); }); - part.AddressPlaceholderField.Loader(value => (string)((dynamic)ConfigurationManager.GetSection("system.net/mailSettings/smtp")).From); + part.AddressPlaceholderField.Loader(() => (string)((dynamic)ConfigurationManager.GetSection("system.net/mailSettings/smtp")).From); } public Localizer T { get; set; } diff --git a/src/Orchard.Web/Modules/Orchard.Localization/Handlers/LocalizationPartHandler.cs b/src/Orchard.Web/Modules/Orchard.Localization/Handlers/LocalizationPartHandler.cs index d76a6d1b4..2c5a40c45 100644 --- a/src/Orchard.Web/Modules/Orchard.Localization/Handlers/LocalizationPartHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.Localization/Handlers/LocalizationPartHandler.cs @@ -42,10 +42,10 @@ namespace Orchard.Localization.Handlers { } protected void LazyLoadHandlers(LocalizationPart localizationPart) { - localizationPart.CultureField.Loader(ctx => + localizationPart.CultureField.Loader(() => _cultureManager.GetCultureById(localizationPart.Record.CultureId)); - localizationPart.MasterContentItemField.Loader(ctx => + localizationPart.MasterContentItemField.Loader(() => _contentManager.Get(localizationPart.Record.MasterContentItemId, VersionOptions.AllVersions)); } } diff --git a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Handlers/MediaPartHandler.cs b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Handlers/MediaPartHandler.cs index 5b0862adc..ee420afbf 100644 --- a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Handlers/MediaPartHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Handlers/MediaPartHandler.cs @@ -17,7 +17,7 @@ namespace Orchard.MediaLibrary.Handlers { OnRemoving((context, part) => RemoveMedia(part)); OnLoaded((context, part) => { if (!String.IsNullOrEmpty(part.FileName)) { - part._publicUrl.Loader(x => _mediaLibraryService.GetMediaPublicUrl(part.FolderPath, part.FileName)); + part._publicUrl.Loader(() => _mediaLibraryService.GetMediaPublicUrl(part.FolderPath, part.FileName)); } }); diff --git a/src/Orchard.Web/Modules/Orchard.MediaPicker/Handlers/MediaGalleryFieldHandler.cs b/src/Orchard.Web/Modules/Orchard.MediaPicker/Handlers/MediaGalleryFieldHandler.cs index 66887585e..534d1f53b 100644 --- a/src/Orchard.Web/Modules/Orchard.MediaPicker/Handlers/MediaGalleryFieldHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.MediaPicker/Handlers/MediaGalleryFieldHandler.cs @@ -30,7 +30,7 @@ namespace Orchard.MediaPicker.Handlers { foreach (var field in fields) { var localField = field; - field._mediaGalleryItems.Loader(x => _jsonConverter.Deserialize(localField.SelectedItems ?? "[]") ?? new MediaGalleryItem[0]); + field._mediaGalleryItems.Loader(() => _jsonConverter.Deserialize(localField.SelectedItems ?? "[]") ?? new MediaGalleryItem[0]); } } } diff --git a/src/Orchard.Web/Modules/Orchard.PublishLater/Handlers/PublishLaterPartHandler.cs b/src/Orchard.Web/Modules/Orchard.PublishLater/Handlers/PublishLaterPartHandler.cs index ee8155205..bfdc13ef1 100644 --- a/src/Orchard.Web/Modules/Orchard.PublishLater/Handlers/PublishLaterPartHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.PublishLater/Handlers/PublishLaterPartHandler.cs @@ -18,7 +18,7 @@ namespace Orchard.PublishLater.Handlers { } protected void LazyLoadHandlers(PublishLaterPart part) { - part.ScheduledPublishUtc.Loader((value) => _publishLaterService.GetScheduledPublishUtc(part)); + part.ScheduledPublishUtc.Loader(() => _publishLaterService.GetScheduledPublishUtc(part)); } } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Roles/Handlers/UserRolesPartHandler.cs b/src/Orchard.Web/Modules/Orchard.Roles/Handlers/UserRolesPartHandler.cs index c6058f2b5..83181247d 100644 --- a/src/Orchard.Web/Modules/Orchard.Roles/Handlers/UserRolesPartHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.Roles/Handlers/UserRolesPartHandler.cs @@ -11,7 +11,7 @@ namespace Orchard.Roles.Handlers { _userRolesRepository = userRolesRepository; Filters.Add(new ActivatingFilter("User")); - OnInitialized((context, userRoles) => userRoles._roles.Loader(value => _userRolesRepository + OnInitialized((context, userRoles) => userRoles._roles.Loader(() => _userRolesRepository .Fetch(x => x.UserId == context.ContentItem.Id) .Select(x => x.Role.Name).ToList())); } diff --git a/src/Orchard.Web/Modules/Orchard.Tags/Handlers/TagCloudHandler.cs b/src/Orchard.Web/Modules/Orchard.Tags/Handlers/TagCloudHandler.cs index 786dc5f38..3bf9e4c04 100644 --- a/src/Orchard.Web/Modules/Orchard.Tags/Handlers/TagCloudHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.Tags/Handlers/TagCloudHandler.cs @@ -17,7 +17,7 @@ namespace Orchard.Tags.Handlers { _signals = signals; OnInitializing((context, part) => part - ._tagCountField.Loader(tags => + ._tagCountField.Loader(() => tagCloudService.GetPopularTags(part.Buckets, part.Slug).ToList() )); diff --git a/src/Orchard.Web/Modules/Orchard.Taxonomies/Handlers/TaxonomyPartHandler.cs b/src/Orchard.Web/Modules/Orchard.Taxonomies/Handlers/TaxonomyPartHandler.cs index db4839757..092ee6d4d 100644 --- a/src/Orchard.Web/Modules/Orchard.Taxonomies/Handlers/TaxonomyPartHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.Taxonomies/Handlers/TaxonomyPartHandler.cs @@ -42,7 +42,7 @@ namespace Orchard.Taxonomies.Handlers { } }); - OnLoading( (context, part) => part.TermsField.Loader(x => taxonomyService.GetTerms(part.Id))); + OnLoading( (context, part) => part.TermsField.Loader(() => taxonomyService.GetTerms(part.Id))); OnUpdating((context, part) => { // if altering the title of a taxonomy, save the name diff --git a/src/Orchard.Web/Modules/Orchard.Taxonomies/Handlers/TermsPartHandler.cs b/src/Orchard.Web/Modules/Orchard.Taxonomies/Handlers/TermsPartHandler.cs index 69d1cf093..a2cd5aa9e 100644 --- a/src/Orchard.Web/Modules/Orchard.Taxonomies/Handlers/TermsPartHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.Taxonomies/Handlers/TermsPartHandler.cs @@ -65,7 +65,7 @@ namespace Orchard.Taxonomies.Handlers { foreach (var field in part.ContentItem.Parts.SelectMany(p => p.Fields).OfType()) { var tempField = field.Name; - field.TermsField.Loader(value => { + field.TermsField.Loader(() => { var fieldTermRecordIds = part.Record.Terms.Where(t => t.Field == tempField).Select(tci => tci.TermRecord.Id); var terms = _contentManager.GetMany(fieldTermRecordIds, VersionOptions.Published, queryHint); return terms.ToList(); @@ -73,7 +73,7 @@ namespace Orchard.Taxonomies.Handlers { } part._termParts = new LazyField>(); - part._termParts.Loader(value => { + part._termParts.Loader(() => { var ids = part.Terms.Select(t => t.TermRecord.Id).Distinct(); var terms = _contentManager.GetMany(ids, VersionOptions.Published, queryHint) .ToDictionary(t => t.Id, t => t); diff --git a/src/Orchard/ContentManagement/Handlers/StorageFilter.cs b/src/Orchard/ContentManagement/Handlers/StorageFilter.cs index 3c17369cd..1e6ec1b21 100644 --- a/src/Orchard/ContentManagement/Handlers/StorageFilter.cs +++ b/src/Orchard/ContentManagement/Handlers/StorageFilter.cs @@ -30,7 +30,11 @@ namespace Orchard.ContentManagement.Handlers { return _repository.Get(versionRecord.ContentItemRecord.Id); } - protected virtual TRecord CreateRecordCore(ContentItemVersionRecord versionRecord, TRecord record) { + protected virtual TRecord CreateRecordCore(ContentItemVersionRecord versionRecord, TRecord record = null) + { + if (record == null) { + record = new TRecord(); + } record.ContentItemRecord = versionRecord.ContentItemRecord; _repository.Create(record); return record; @@ -51,7 +55,7 @@ namespace Orchard.ContentManagement.Handlers { protected override void Loading(LoadContentContext context, ContentPart instance) { var versionRecord = context.ContentItemVersionRecord; - instance._record.Loader(prior => GetRecordCore(versionRecord) ?? CreateRecordCore(versionRecord, prior)); + instance._record.Loader(() => GetRecordCore(versionRecord) ?? CreateRecordCore(versionRecord)); } protected override void Versioning(VersionContentContext context, ContentPart existing, ContentPart building) { diff --git a/src/Orchard/ContentManagement/Handlers/StorageVersionFilter.cs b/src/Orchard/ContentManagement/Handlers/StorageVersionFilter.cs index b7d8a0f55..740c77b52 100644 --- a/src/Orchard/ContentManagement/Handlers/StorageVersionFilter.cs +++ b/src/Orchard/ContentManagement/Handlers/StorageVersionFilter.cs @@ -12,7 +12,10 @@ namespace Orchard.ContentManagement.Handlers { return _repository.Get(versionRecord.Id); } - protected override TRecord CreateRecordCore(ContentItemVersionRecord versionRecord, TRecord record) { + protected override TRecord CreateRecordCore(ContentItemVersionRecord versionRecord, TRecord record = null) { + if (record == null) { + record = new TRecord(); + } record.ContentItemRecord = versionRecord.ContentItemRecord; record.ContentItemVersionRecord = versionRecord; _repository.Create(record); diff --git a/src/Orchard/ContentManagement/Utilities/LazyField.cs b/src/Orchard/ContentManagement/Utilities/LazyField.cs index b03c59779..bbcaf8f1b 100644 --- a/src/Orchard/ContentManagement/Utilities/LazyField.cs +++ b/src/Orchard/ContentManagement/Utilities/LazyField.cs @@ -3,7 +3,7 @@ namespace Orchard.ContentManagement.Utilities { public class LazyField { private T _value; - private Func _loader; + private Func _loader; private Func _setter; public T Value { @@ -11,7 +11,7 @@ namespace Orchard.ContentManagement.Utilities { set { SetValue(value); } } - public void Loader(Func loader) { + public void Loader(Func loader) { _loader = loader; } @@ -21,7 +21,7 @@ namespace Orchard.ContentManagement.Utilities { private T GetValue() { if (_loader != null) { - _value = _loader(_value); + _value = _loader(); _loader = null; } return _value; From 13fe3649a8ab163e6ef45e6bbd85d9cf520e2557 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojciech=20Gadzi=C5=84ski?= Date: Mon, 27 Apr 2015 08:57:47 +0200 Subject: [PATCH 4/5] Added backward compatibility for LazyField --- src/Orchard/ContentManagement/Utilities/LazyField.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Orchard/ContentManagement/Utilities/LazyField.cs b/src/Orchard/ContentManagement/Utilities/LazyField.cs index bbcaf8f1b..6b26f8d34 100644 --- a/src/Orchard/ContentManagement/Utilities/LazyField.cs +++ b/src/Orchard/ContentManagement/Utilities/LazyField.cs @@ -15,6 +15,11 @@ namespace Orchard.ContentManagement.Utilities { _loader = loader; } + [Obsolete] + public void Loader(Func loader) { + _loader = () => loader(_value); + } + public void Setter(Func setter) { _setter = setter; } From d273134df316318418791c53fc89af13fb86ec78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojciech=20Gadzi=C5=84ski?= Date: Mon, 27 Apr 2015 23:14:56 +0200 Subject: [PATCH 5/5] Fix formatting --- src/Orchard/ContentManagement/Handlers/StorageFilter.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Orchard/ContentManagement/Handlers/StorageFilter.cs b/src/Orchard/ContentManagement/Handlers/StorageFilter.cs index 1e6ec1b21..938f918aa 100644 --- a/src/Orchard/ContentManagement/Handlers/StorageFilter.cs +++ b/src/Orchard/ContentManagement/Handlers/StorageFilter.cs @@ -30,8 +30,7 @@ namespace Orchard.ContentManagement.Handlers { return _repository.Get(versionRecord.ContentItemRecord.Id); } - protected virtual TRecord CreateRecordCore(ContentItemVersionRecord versionRecord, TRecord record = null) - { + protected virtual TRecord CreateRecordCore(ContentItemVersionRecord versionRecord, TRecord record = null) { if (record == null) { record = new TRecord(); }