Class ScheduleAppointmentCommand
- Namespace
- Core.CliniCore.Commands.Scheduling
- Assembly
- Core.CliniCore.dll
Command that schedules a new appointment between a patient and a physician.
public class ScheduleAppointmentCommand : AbstractCommand, ICommand
- Inheritance
-
ScheduleAppointmentCommand
- Implements
- Inherited Members
Constructors
ScheduleAppointmentCommand(SchedulerService, ProfileService)
Initializes a new instance of the ScheduleAppointmentCommand class.
public ScheduleAppointmentCommand(SchedulerService scheduleManager, ProfileService profileService)
Parameters
scheduleManagerSchedulerServiceThe scheduler service responsible for managing appointments.
profileServiceProfileServiceThe profile service used to resolve patients and physicians.
Exceptions
- ArgumentNullException
Thrown when any dependency is
null.
Fields
Key
The unique key used to identify this command.
public const string Key = "scheduleappointment"
Field Value
Properties
CanUndo
Whether this command can be undone - defaults to false
public override bool CanUndo { get; }
Property Value
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
Description
Description of what this command does
public override string Description { get; }
Property Value
Methods
CaptureStateForUndo(CommandParameters, SessionContext?)
Captures state before execution for undo - override if undo is supported
protected override object? CaptureStateForUndo(CommandParameters parameters, SessionContext? session)
Parameters
parametersCommandParameterssessionSessionContext
Returns
ExecuteCore(CommandParameters, SessionContext?)
Executes the core command logic - must be implemented by derived classes
protected override CommandResult ExecuteCore(CommandParameters parameters, SessionContext? session)
Parameters
parametersCommandParameterssessionSessionContext
Returns
GetRequiredPermission()
Gets the required permission to execute this command
public override Permission? GetRequiredPermission()
Returns
UndoCore(object, SessionContext?)
Performs the undo operation - override if undo is supported
protected override CommandResult UndoCore(object previousState, SessionContext? session)
Parameters
previousStateobjectsessionSessionContext
Returns
ValidateParameters(CommandParameters)
Validates command parameters - override in derived classes
protected override CommandValidationResult ValidateParameters(CommandParameters parameters)
Parameters
parametersCommandParametersThe parameters to validate (never null, but may be empty)
Returns
- CommandValidationResult
Validation result indicating success or failure with error messages
ValidateSpecific(CommandParameters, SessionContext?)
Performs command-specific validation - override in derived classes if needed
protected override CommandValidationResult ValidateSpecific(CommandParameters parameters, SessionContext? session)
Parameters
parametersCommandParameterssessionSessionContext