Tolitech / CodeGenerator.Auditing

Auditing library used in projects created by the Code Generator tool.

Home Page:https://www.tolitech.com.br

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tolitech.CodeGenerator.Auditing

Auditing library used in projects created by the Code Generator tool.

This project helps to discover the differences found between two entities, an old one recovered and a new one to be recorded.

Tolitech Code Generator Tool: http://www.tolitech.com.br

Examples:

public class PersonEntity : AuditableEntity
{
    public PersonEntity(string name, int age, string email)
    {
        using var scope = new AuditScope(this, EventTypeEnum.Insert);
        Name = name;
        Age = age;
        Email = new EmailValueObject(email, name);
    }

    public string Name { get; set; }

    public int Age { get; set; }

    public EmailValueObject Email { get; set; }

    public void ChangeName(string newName)
    {
        using var scope = new AuditScope(this, EventTypeEnum.Update);
        Name = newName;
    }

    public void ChangeAge(int newAge)
    {
        using var scope = new AuditScope(this, EventTypeEnum.Update);
        Age = newAge;
    }
}
Audit.EnableEntitity(typeof(PersonEntity).FullName);
bool b = Audit.IsEntityEnabled(typeof(PersonEntity).FullName);
var person = new PersonEntity()
{
    Name = "Person One",
    Age = 18
};

person.ChangeName("Person Two");
person.ChangeAge(21);
var audit = person.Audit();

audit.AttributesDiff[0].Name == "Name"; // this is true 
audit.AttributesDiff[0].Old == "Person One"; // this is true 
audit.AttributesDiff[0].New == "Person Two"; // this is true 

audit.AttributesDiff[1].Name == "Age"; // this is true 
audit.AttributesDiff[1].Old == "18"; // this is true 
audit.AttributesDiff[1].New == "21"; // this is true 

About

Auditing library used in projects created by the Code Generator tool.

https://www.tolitech.com.br

License:MIT License


Languages

Language:C# 100.0%