Class EfAppointmentRepository
- Namespace
- API.CliniCore.Data.Repositories
- Assembly
- API.CliniCore.dll
Entity Framework Core implementation of IAppointmentRepository. Provides SQLite-backed persistence for appointments.
public class EfAppointmentRepository : IAppointmentRepository, IRepository<AppointmentTimeInterval>
- Inheritance
-
EfAppointmentRepository
- Implements
- Inherited Members
Constructors
EfAppointmentRepository(CliniCoreDbContext)
public EfAppointmentRepository(CliniCoreDbContext context)
Parameters
contextCliniCoreDbContext
Methods
Add(AppointmentTimeInterval)
public void Add(AppointmentTimeInterval appointment)
Parameters
appointmentAppointmentTimeInterval
Delete(Guid)
public void Delete(Guid id)
Parameters
idGuid
GetAll()
public IEnumerable<AppointmentTimeInterval> GetAll()
Returns
GetAvailableSlots(Guid, DateTime, TimeSpan)
Gets available time slots for a physician on a given date
public IEnumerable<(DateTime Start, DateTime End)> GetAvailableSlots(Guid physicianId, DateTime date, TimeSpan duration)
Parameters
Returns
GetByDate(DateTime)
Gets all appointments for a specific date
public IEnumerable<AppointmentTimeInterval> GetByDate(DateTime date)
Parameters
dateDateTime
Returns
GetById(Guid)
public AppointmentTimeInterval? GetById(Guid id)
Parameters
idGuid
Returns
GetByPatient(Guid)
Gets all appointments for a specific patient
public IEnumerable<AppointmentTimeInterval> GetByPatient(Guid patientId)
Parameters
patientIdGuid
Returns
GetByPhysician(Guid)
Gets all appointments for a specific physician
public IEnumerable<AppointmentTimeInterval> GetByPhysician(Guid physicianId)
Parameters
physicianIdGuid
Returns
GetByStatus(AppointmentStatus)
Gets appointments filtered by status
public IEnumerable<AppointmentTimeInterval> GetByStatus(AppointmentStatus status)
Parameters
statusAppointmentStatus
Returns
HasConflict(Guid, DateTime, TimeSpan, Guid?)
Checks if a proposed appointment would conflict with existing ones
public bool HasConflict(Guid physicianId, DateTime start, TimeSpan duration, Guid? excludeAppointmentId = null)
Parameters
Returns
Search(string)
public IEnumerable<AppointmentTimeInterval> Search(string query)
Parameters
querystring
Returns
Update(AppointmentTimeInterval)
public void Update(AppointmentTimeInterval appointment)
Parameters
appointmentAppointmentTimeInterval