Cleanup/fix content variants mapping

This commit is contained in:
Stephan
2018-09-17 13:19:24 +02:00
parent fb246de5fc
commit 95361da1f8
9 changed files with 82 additions and 87 deletions

View File

@@ -0,0 +1,45 @@
using AutoMapper;
namespace Umbraco.Web.Models.Mapping
{
/// <summary>
/// Provides extension methods for AutoMapper's <see cref="IMappingOperationOptions"/>.
/// </summary>
internal static class MappingOperationOptionsExtensions
{
private const string CultureKey = "MappingOperationOptions.Culture";
private const string IncludedPropertiesKey = "MappingOperationOptions.IncludeProperties";
/// <summary>
/// Gets the context culture.
/// </summary>
public static string GetCulture(this IMappingOperationOptions options)
{
return options.Items.TryGetValue(CultureKey, out var obj) && obj is string s ? s : null;
}
/// <summary>
/// Sets a context culture.
/// </summary>
public static void SetCulture(this IMappingOperationOptions options, string culture)
{
options.Items[CultureKey] = culture;
}
/// <summary>
/// Get included properties.
/// </summary>
public static string[] GetIncludedProperties(this IMappingOperationOptions options)
{
return options.Items.TryGetValue(IncludedPropertiesKey, out var obj) && obj is string[] s ? s : null;
}
/// <summary>
/// Sets included properties.
/// </summary>
public static void SetIncludedProperties(this IMappingOperationOptions options, string[] properties)
{
options.Items[IncludedPropertiesKey] = properties;
}
}
}