using BulkyBook.DataAccess.Repository; using Marco.Pms.DataAccess.Data; using Marco.Pms.DataAccess.Repository.IRepository; namespace Marco.Pms.DataAccess.Repository { public class UnitOfWork : IUnitOfWork { private readonly ApplicationDbContext _db; public IApplicationUserRepository ApplicationUser { get; private set; } public IEmployeeRepository Employee { get; private set; } public ITaskAllocationRepository EmployeeAllocation { get; private set; } public IProjectRepository Project { get; private set; } public IProjectAllocationRepository ProjectAllocation { get; private set; } public IBuildingRepository Building { get; private set; } public IFloorRepository Floor { get; private set; } public IAttendenceRepository Attendence { get; private set; } public IWorkAreaRepository WorkArea { get; private set; } public IWorkItemRepository WorkItem { get; private set; } public IWorkItemMappingReposiotry WorkItemMapping { get; private set; } public IStatusRepository StatusMaster { get; private set; } public IActivityMasterRepository ActivityMaster { get; private set; } public IApplicationRolesRepository EmployeeRoles { get; private set; } public IFeatureRepository Features { get; private set; } public UnitOfWork(ApplicationDbContext db) { _db = db; Employee = new EmployeeRepository(_db); Project = new ProjectRepository(_db); ProjectAllocation = new ProjectAllocationRepository(_db); Building = new BuildingRepository(_db); Floor = new FloorRepository(_db); WorkArea = new WorkAreaRepository(_db); WorkItem = new WorkItemRepository(_db); WorkItemMapping = new WorkItemMappingReporitury(_db); ApplicationUser = new ApplicationUserRepository(_db); Attendence = new AttendenceRepository(_db); EmployeeAllocation = new TaskAllocationRepository(_db); StatusMaster = new StatusRepository(_db); ActivityMaster = new ActivityMasterRepository(_db); EmployeeRoles = new ApplicationRolesRepository(_db); Features = new FeaturesRepository(_db); } public void Save() { _db.SaveChanges(); } } }