Skip to content

Base Models

Orbis Alonzo Gutierrez edited this page Aug 23, 2023 · 1 revision

Base Models

BaseModel class

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; }
   }

BaseBasicModel class

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; }
}

BaseEdit class

 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; }
}

BaseInput class

public class BaseInput
{
}

BaseOutput class

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; }
}

Clone this wiki locally