using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace gehGassiApp.Core.Data
{
///
/// 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
///
int Commit();
///
/// Schließt Daten-Änderungen ab und speichert die selben
///
Task CommitAsync();
}
}