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 the label’s AppointmentLabel.Color.
- Add the label to the collection.
- Create a new appointment status using the AppointmentStatusCollection.CreateNewStatus method.
- Customize its appearance settings with the AppointmentStatusExtension.SetBrush method.
- Add the 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);
}