Skip to main content

How to: Add Custom Labels and Statuses

  • 2 minutes to read

This code illustrates how to substitute default appointment labels and statuses with your own.

Remove default labels and statuses by calling the Clear method of the AppointmentLabelCollection and AppointmentStatusCollection collections respectively. Subsequently, create a new label using the AppointmentLabelCollection.CreateNewLabel method, specify its AppointmentLabel.Color and add the newly created label to the collection. Create a new appointment status using the AppointmentStatusCollection.CreateNewStatus method, specify its appearance with the AppointmentStatusExtension.SetBrush method and add the newly created status to the collection.

scheduler.Storage.Appointments.Clear();

string[] IssueList = { "Consultation", "Treatment", "X-Ray" };
Color[] IssueColorList = { Color.Ivory, Color.Pink, Color.Plum };
string[] PaymentStatuses = { "Paid", "Unpaid" };
Color[] PaymentColorStatuses = { Color.Green, Color.Red };


IAppointmentLabelStorage labelStorage = scheduler.Storage.Appointments.Labels;
labelStorage.Clear();
int count = IssueList.Length;
for (int i = 0; i < count; i++) {
    IAppointmentLabel label = labelStorage.CreateNewLabel(i, IssueList[i]);
    label.SetColor(IssueColorList[i]);
    labelStorage.Add(label);
}
AppointmentStatusCollection statusColl = scheduler.Storage.Appointments.Statuses;
statusColl.Clear();
count = PaymentStatuses.Length;
for (int i = 0; i < count; i++) {
    AppointmentStatus status = statusColl.CreateNewStatus(i, PaymentStatuses[i], PaymentStatuses[i]);
    status.SetBrush(new SolidBrush(PaymentColorStatuses[i]));
    statusColl.Add(status);
}