-
Notifications
You must be signed in to change notification settings - Fork 1
Base Models
Orbis Alonzo Gutierrez edited this page Aug 23, 2023
·
1 revision
public abstract class BaseModel
{
public virtual Guid Id { get; set; }
public virtual DateTime CreatedAt { get; set; }
/// <summary>
/// If you after used updateAt please override this prop and add anotation [Colunm("UpdateAt")]
/// </summary>
public virtual DateTime? UpdatedAt { get; set; }
[NotMapped]
public string CreatedAtStr => CreatedAt.ToString("dd/MM/yyyy hh:mm:ss");
[NotMapped]
public string UpdateAtStr => UpdatedAt != null ? UpdatedAt.Value.ToString("dd/MM/yyyy hh:mm:ss") : "";
public virtual bool IsDeleted { get; set; }
public virtual string? CreatedBy { get; set; }
public virtual string? UpdatedBy { get; set; }
}is a base class named BaseBasicModel that allows us to have a common structure in our models, it has the following properties:
public abstract class BaseBasicModel : BaseModel
{
[NotMapped]
public override string? CreatedBy { get; set; }
[NotMapped]
public override string? UpdatedBy { get; set; }
} public abstract class BaseEdit
{
[JsonIgnore]
public virtual Guid Id { get; set; }
[JsonIgnore]
public virtual DateTime? UpdateAt { get; set; }
[JsonIgnore]
public virtual string? UpdatedBy { get; set; }
[JsonIgnore]
public virtual DateTime CreatedAt { get; set; }
[JsonIgnore]
public virtual string? CreatedBy { get; set; }
}public class BaseInput
{
}public class BaseOutput
{
public virtual Guid Id { get; set; }
public virtual string? CreatedAtStr { get; set; }
public virtual DateTime CreatedAt { get; set; }
public virtual string? CreatedBy { get; set; }
}