using System;
using System.Threading.Tasks;
namespace gehGassi.Core.Interfaces
{
///
/// Schnittstellenbeschreibung für einen DBcontext der Auditing vornimmt
///
public interface IAuditDbContext : IDisposable
{
///
/// Speichern der Änderungen mit Auditing (wenn aktiviert) und Benutzername
///
/// Benutzer der die Änderungen vorgenommen hat
/// Gibt an, dass kein Audit-Eintrag erstellt werden soll, auch wenn Audit aktiviert ist
/// Anzahl betroffener Datensätze
int SaveChanges(string userName, bool noAudit);
///
/// Speichern der Änderungen mit Auditing (wenn aktiviert) und Benutzername
///
/// Benutzer der die Änderungen vorgenommen hat
/// Gibt an, dass kein Audit-Eintrag erstellt werden soll, auch wenn Audit aktiviert ist
/// Anzahl betroffener Datensätze
Task SaveChangesAsync(string userName, bool noAudit);
}
///
/// Hilfsklasse - Einstellungen des AuditDbContext
///
public class AuditOptions
{
///
/// Erstellt eine Instanz
///
public AuditOptions()
{
IsEnabled = true;
}
///
/// Soll das auditing durchgeführt werden?
///
public bool IsEnabled { get; set; }
}
}