Table of Contents

Class GetAvailableTimeSlotsCommand

Namespace
Core.CliniCore.Commands.Scheduling
Assembly
Core.CliniCore.dll

Command that retrieves available appointment time slots for a physician on a specific date.

public class GetAvailableTimeSlotsCommand : AbstractCommand, ICommand
Inheritance
GetAvailableTimeSlotsCommand
Implements
Inherited Members

Constructors

GetAvailableTimeSlotsCommand(SchedulerService, ProfileService, IBookingStrategy?)

Initializes a new instance of the GetAvailableTimeSlotsCommand class.

public GetAvailableTimeSlotsCommand(SchedulerService scheduleManager, ProfileService profileService, IBookingStrategy? bookingStrategy = null)

Parameters

scheduleManager SchedulerService

The scheduler service responsible for managing appointments.

profileService ProfileService

The profile service used to resolve physician details.

bookingStrategy IBookingStrategy

Optional booking strategy used to select optimal time slots.

Exceptions

ArgumentNullException

Thrown when scheduleManager or profileService is null.

Fields

Key

The unique key used to identify this command.

public const string Key = "getavailabletimeslots"

Field Value

string

Properties

CommandKey

Unique key identifier for this command type Generated from the class name, converted to lowercase without "Command" suffix E.g., "LoginCommand" becomes "login", "CreatePatientCommand" becomes "createpatient"

public override string CommandKey { get; }

Property Value

string

Description

Description of what this command does

public override string Description { get; }

Property Value

string

Methods

ExecuteCore(CommandParameters, SessionContext?)

Executes the core command logic - must be implemented by derived classes

protected override CommandResult ExecuteCore(CommandParameters parameters, SessionContext? session)

Parameters

parameters CommandParameters
session SessionContext

Returns

CommandResult

GetRequiredPermission()

Gets the required permission to execute this command

public override Permission? GetRequiredPermission()

Returns

Permission?

ValidateParameters(CommandParameters)

Validates command parameters - override in derived classes

protected override CommandValidationResult ValidateParameters(CommandParameters parameters)

Parameters

parameters CommandParameters

The parameters to validate (never null, but may be empty)

Returns

CommandValidationResult

Validation result indicating success or failure with error messages