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; private BaseRepository _schaeden; private BaseRepository _sanierungskonzepte; private BaseRepository _taetigkeiten; private BaseRepository _leistungsverzeichnisPositionen; private BaseRepository _fahrzeuge; private BaseRepository _kurzliner; private BaseRepository _hutprofil; private BaseRepository _leistungsverzeichnisRef; public UnitOfWork(KanSanContext dbContext) { _dbContext = dbContext; //_dbContext.ChangeTracker.QueryTrackingBehavior = Microsoft.EntityFrameworkCore.QueryTrackingBehavior.NoTracking; } public IRepository ProjekteRepository => _projekte ?? (_projekte = new BaseRepository(_dbContext)); public IRepository KundenRepository => _kunden ?? (_kunden = new BaseRepository(_dbContext)); public IRepository BaustelleRepository => _baustellen ?? (_baustellen = new BaseRepository(_dbContext)); public IRepository KanaeleRepository => _kanaele ?? (_kanaele = new BaseRepository(_dbContext)); public IRepository ObjekteRepository => _objekte ?? (_objekte = new BaseRepository(_dbContext)); public IRepository SchaedenRepository => _schaeden ?? (_schaeden = new BaseRepository(_dbContext)); public IRepository SanierungskonzeptRepository => _sanierungskonzepte ?? (_sanierungskonzepte = new BaseRepository(_dbContext)); public IRepository TaetigkeitenRepository => _taetigkeiten ?? (_taetigkeiten = new BaseRepository(_dbContext)); public IRepository LeistungsverzeichnisRepository => _leistungsverzeichnisPositionen ?? (_leistungsverzeichnisPositionen = new BaseRepository(_dbContext)); public IRepository FahrzeugRepository => _fahrzeuge ?? (_fahrzeuge = new BaseRepository(_dbContext)); public IRepository KurzlinerRepository => _kurzliner ?? (_kurzliner = new BaseRepository(_dbContext)); public IRepository HutprofilRepository => _hutprofil ?? (_hutprofil = new BaseRepository(_dbContext)); public IRepository LeistungsverzeichnisReferenz => _leistungsverzeichnisRef ?? (_leistungsverzeichnisRef = new BaseRepository(_dbContext)); public void Commit() { _dbContext.SaveChanges(); } } }