using MTWorkHR.Core.Entities; using MTWorkHR.Core.IRepositories; using MTWorkHR.Core.IRepositories.Base; namespace MTWorkHR.Core.UnitOfWork { public interface IUnitOfWork { IPermissionRepository Permission { get; } IProjectRepository Project { get; } IUserTaskRepository UserTask { get; } // IUserTaskAttachmentRepository UserTaskAttachment { get; } ITaskStatusRepository UserTaskStatus { get; } IUserTaskHistoryRepository UserTaskHistory { get; } ICompanyRepository Company { get; } Task CompleteAsync(); void BeginTran(); void CommitTran(); void RollbackTran(); object GetRepositoryByName(string name); } }