Files
Kansan/KanSan.Base/UnitOfWork.cs
2020-02-21 10:01:01 +01:00

63 lines
1.6 KiB
C#

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<Projekt> _projekte;
private BaseRepository<Kunde> _kunden;
private BaseRepository<Baustelle> _baustellen;
private BaseRepository<Sewer> _kanaele;
private BaseRepository<SewerPoint> _objekte;
public UnitOfWork(KanSanContext dbContext)
{
_dbContext = dbContext;
}
public IRepository<Projekt> ProjekteRepository
{
get
{
return _projekte ?? (_projekte = new BaseRepository<Projekt>(_dbContext));
}
}
public IRepository<Kunde> KundenRepository
{
get
{
return _kunden ?? (_kunden = new BaseRepository<Kunde>(_dbContext));
}
}
public IRepository<Baustelle> BaustelleRepository
{
get
{
return _baustellen ?? (_baustellen = new BaseRepository<Baustelle>(_dbContext));
}
}
public IRepository<Sewer> KanaeleRepository
{
get
{
return _kanaele ?? (_kanaele = new BaseRepository<Sewer>(_dbContext));
}
}
public IRepository<SewerPoint> ObjekteRepository => _objekte ?? (_objekte = new BaseRepository<SewerPoint>(_dbContext));
public void Commit()
{
_dbContext.SaveChanges();
}
}
}