using BMA.EHR.Application.Common.Interfaces; using BMA.EHR.Domain.Models.Leave.Commons; using BMA.EHR.Domain.Models.Leave.Requests; using BMA.EHR.Domain.Models.Leave.TimeAttendants; using Microsoft.EntityFrameworkCore; namespace BMA.EHR.Infrastructure.Persistence { public class LeaveDbContext : DbContext, ILeaveDbContext { #region " Check-In " public DbSet DutyTimes { get; set; } public DbSet UserTimeStamps { get; set; } public DbSet ProcessUserTimeStamps { get; set; } public DbSet UserDutyTimes { get; set; } public DbSet AdditionalCheckRequests { get; set; } public DbSet UserCalendars { get; set; } #endregion #region " Leave System " public DbSet LeaveTypes { get; set; } public DbSet LeaveRequests { get; set; } public DbSet LeaveDocuments { get; set; } public DbSet LeaveBeginnings { get; set; } #endregion public LeaveDbContext(DbContextOptions options) : base(options) { } public Task SaveChangesAsync() { return base.SaveChangesAsync(); } public void Attatch(T entity) where T : class { Attach(entity); } public void Detach(T entity) where T : class { base.Entry(entity).State = EntityState.Detached; } } }