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