Files
raven/server/AyaNova/models/ICoreBizObjectModel.cs
2021-06-11 16:58:56 +00:00

26 lines
1.7 KiB
C#

using System.Collections.Generic;
namespace AyaNova.Models
{
/// <summary>
/// Interface for biz object models with standard fields
/// used for batch operations etc
/// </summary>
internal interface ICoreBizObjectModel
{
//Note: almost all biz objects support all these propertys, the exceptions are extremely few so auto-implementing them here
//this is not a public api so I don't care about the "contract" aspect, just practicality
//didn't want to end up with a zillion interfaces for all manner of stuff
public long Id { get; set; }
public uint Concurrency { get; set; }
// public string Name { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); }
public string Name { get; set; }//any notification on these will require this so making it mandatory but will implement a workaround to return alt fields instead
public bool? Active { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); }
public string Wiki { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); }
public string CustomFields { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); }
// public List<string> Tags { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); }
public List<string> Tags { get; set; }//Notification on objects require this so will implement workaround in object instead
public AyaNova.Biz.AyaType AyaType { get; }
}
}