using LSFE.Domain.Contracts.Doctor; using LSFE.Domain.Contracts.Maintenance; using LSFE.Domain.Contracts.Planning; using LSFE.Domain.Contracts.Reports; using LSFE.Domain.Contracts.TimeKeeping; using LSFE.Domain.Services; using LSFE.Domain.Services.TimeKeeping; using LSFE.Infrastructure.Entities.Admin; using LSFE.Infrastructure.Entities.Doctor; using LSFE.Infrastructure.Entities.Maintenance; using LSFE.Infrastructure.Entities.Planning; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LSFE.Domain.Contracts { public interface IUnitOfWork : IDisposable { IErrorLogger ErrorLogger { get; } IDoctorRepo Doctors { get; } IAttendanceRepo Attendances { get; } IPlanningRepo Planning { get; } IReportsRepo Reports { get; } IMaintenanceRepo Areas { get; } IMaintenanceRepo Districts { get; } IMaintenanceRepo Divisions { get; } IMaintenanceRepo Territories { get; } IMaintenanceRepo InstitutionCategories { get; } IMaintenanceRepo Institutions { get; } IMaintenanceRepo Products { get; } IMaintenanceRepo Specializations { get; } IMaintenanceRepo Inventory { get; } IMaintenanceRepo InventoryTransactions { get; } IMaintenanceRepo ProductTransactions { get; } IMaintenanceRepo MRRawPlans { get; } IMaintenanceRepo CatchUpCalls { get; } IMaintenanceRepo MRPlanDetails { get; } IMaintenanceRepo MRPlanHeaders { get; } IMaintenanceRepo UserDevices { get; } Task SaveChangesAsync(); } }