using System; using System.Threading.Tasks; namespace gehGassi.Core.Interfaces { /// /// Definiert eine Schnittstelle welche Operationen in einem Repository gruppiert und bestätigt (speichert) /// public interface IUnitOfWork : IDisposable { /// /// Gibt ein Repository im Kontext der UnitOfWork zurück /// /// Typ (Klasse) /// IRepository oder null, wenn nicht verfügbar IRepository GetRepository() where T : class; /// /// Schließt Daten-Änderungen ab und speichert die selben /// /// Name des Benutzers /// Gibt an, dass kein Audit-Eintrag erstellt werden soll, auch wenn Audit aktiviert ist int Commit(string userName, bool noAudit); /// /// Schließt Daten-Änderungen ab und speichert die selben /// /// Name des Benutzers /// Gibt an, dass kein Audit-Eintrag erstellt werden soll, auch wenn Audit aktiviert ist Task CommitAsync(string userName, bool noAudit); } }