using KanSan.Base.Interfaces; using KanSan.Base.Models; using System; using System.Collections.Generic; using System.Text; namespace KanSan.Base { public class UnitOfWork : IUnitOfWork { private KanSanContext _dbContext; private BaseRepository _projekte; private BaseRepository _kunden; private BaseRepository _baustellen; private BaseRepository _kanaele; private BaseRepository _objekte; public UnitOfWork(KanSanContext dbContext) { _dbContext = dbContext; } public IRepository ProjekteRepository { get { return _projekte ?? (_projekte = new BaseRepository(_dbContext)); } } public IRepository KundenRepository { get { return _kunden ?? (_kunden = new BaseRepository(_dbContext)); } } public IRepository BaustelleRepository { get { return _baustellen ?? (_baustellen = new BaseRepository(_dbContext)); } } public IRepository KanaeleRepository { get { return _kanaele ?? (_kanaele = new BaseRepository(_dbContext)); } } public IRepository ObjekteRepository => _objekte ?? (_objekte = new BaseRepository(_dbContext)); public void Commit() { _dbContext.SaveChanges(); } } }