|
|
@ -6,4 +6,35 @@
|
|
|
|
public interface IDeletable
|
|
|
|
public interface IDeletable
|
|
|
|
{
|
|
|
|
{
|
|
|
|
bool IsDeleted { get; set; }
|
|
|
|
bool IsDeleted { get; set; }
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public interface IPrimaryKey<T> where T : IEquatable<T>
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
public T Id { get; set; }
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public interface IEntityBase<T> : IPrimaryKey<T>, IDeletable where T : IEquatable<T>
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
public DateTime CreatedDate { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public DateTime? UpdatedDate { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public string? Name { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public T CreatorId { get; set; }
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public abstract class EntityBase<T> : IEntityBase<T> where T : class, IEquatable<T>
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
public bool IsDeleted { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public T Id { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public DateTime CreatedDate { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public string? Name { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public DateTime? UpdatedDate { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public T CreatorId { get; set; }
|
|
|
|
}
|
|
|
|
}
|