using System;
using zero.Core.Attributes;
namespace zero.Core.Entities
{
public abstract class Preset : IPreset
{
///
public string Key { get; set; }
///
public string Name { get; set; }
}
public interface IPreset
{
///
/// Key is used to query a preset
///
string Key { get; set; }
///
/// Name of the preset
///
string Name { get; set; }
}
public class PresetOverride : ZeroEntity, IPresetOverride where T : IPreset
{
///
public string Key { get; set; }
///
public Type TargetType { get; set; }
///
public T Model { get; set; }
}
[Collection("Presets")]
public interface IPresetOverride : IZeroEntity, IZeroDbConventions where T : IPreset
{
///
/// Key is used to query a preset
///
string Key { get; set; }
///
/// Type of the target model (used to query)
///
Type TargetType { get; set; }
///
/// Overridden data
///
T Model { get; set; }
}
}