35 lines
958 B
C#
35 lines
958 B
C#
using System.ComponentModel.DataAnnotations;
|
||
|
||
namespace Yavsc.Models
|
||
{
|
||
/// <summary>
|
||
/// An abstract, identified rule
|
||
/// </summary>
|
||
public class Rule<TResult,TInput>
|
||
{
|
||
[Key]
|
||
public string Id { get; set; }
|
||
|
||
/// <summary>
|
||
/// Left part for this rule, a conjonction.
|
||
/// All of these requisitions must be true
|
||
/// in order to begin any related process.
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public Conjonction Left { get; set; }
|
||
/// <summary>
|
||
/// Right part of this rule, a disjonction.
|
||
/// That is, only one of these post requisitions
|
||
/// has to be true in order for this rule
|
||
/// to expose a success.
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public Disjonction Right { get; set; }
|
||
|
||
public string Description { get; set; }
|
||
|
||
public Action<TResult,TInput> Execution { get; set; }
|
||
|
||
}
|
||
}
|