1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- using MTWorkHR.Core.Entities;
- using MTWorkHR.Core.IRepositories.Base;
- using MTWorkHR.Core.UnitOfWork;
- using MTWorkHR.Infrastructure.Data;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Reflection;
- using System.Text;
- using System.Threading.Tasks;
- namespace MTWorkHR.Infrastructure.UnitOfWorks
- {
- public class UnitOfWorkLog : IUnitOfWorkLog
- {
- private readonly HRDataContext context;
- public IRepositoryLog<UserLog> UserLog { get; }
- public IRepositoryLog<AuthLog> AuthLog { get; }
- public IRepositoryLog<FileLog> FileLog { get; }
- public IRepositoryLog<RoleLog> RoleLog { get; }
- public IRepositoryLog<SettingLog> SettingLog { get; }
- public UnitOfWorkLog(HRDataContext _context
- , IRepositoryLog<UserLog> userLog
- , IRepositoryLog<AuthLog> authenticateLog
- , IRepositoryLog<FileLog> FileLog
- , IRepositoryLog<RoleLog> RoleLog
- , IRepositoryLog<SettingLog> settingLog
- )
- {
- context = _context;
- UserLog = userLog;
- AuthLog = authenticateLog;
- this.FileLog = FileLog;
- this.RoleLog = RoleLog;
- this.SettingLog = settingLog;
- }
- public async Task<int> CompleteAsync()
- {
- return await context.SaveChangesAsync();
- }
- public object GetRepositoryByName(string name)
- {
- Type type = this.GetType();
- PropertyInfo info = type.GetProperty(name);
- if (info == null)
- throw new Exception(String.Format(
- "A property called {0} can't be accessed for type {1}.",
- name, type.FullName));
- var value = info.GetValue(this, null);
- // value = Convert.ChangeType(value, type);
- return value;
- }
- }
- }
|