Class RemoteAppointmentRepository
- Namespace
- Core.CliniCore.Repositories.Remote
- Assembly
- Core.CliniCore.dll
Remote repository implementation that calls the API for appointment operations. Uses ApiRoutes for all endpoint paths (single source of truth).
public class RemoteAppointmentRepository : RemoteRepositoryBase, IAppointmentRepository, IRepository<AppointmentTimeInterval>
- Inheritance
-
RemoteAppointmentRepository
- Implements
- Inherited Members
Constructors
RemoteAppointmentRepository(HttpClient)
Remote repository implementation that calls the API for appointment operations. Uses ApiRoutes for all endpoint paths (single source of truth).
public RemoteAppointmentRepository(HttpClient httpClient)
Parameters
httpClientHttpClient
Methods
Add(AppointmentTimeInterval)
public void Add(AppointmentTimeInterval entity)
Parameters
entityAppointmentTimeInterval
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 entity)
Parameters
entityAppointmentTimeInterval