SchedulerOptionsCustomization.AllowAppointmentCreate Property
Gets or sets whether a user is allowed to create new appointments.
Namespace: DevExpress.XtraScheduler
Assembly: DevExpress.XtraScheduler.v24.2.Core.Desktop.dll
NuGet Package: DevExpress.Scheduler.CoreDesktop
#Declaration
[DefaultValue(UsedAppointmentType.All)]
public UsedAppointmentType AllowAppointmentCreate { get; set; }
#Property Value
Type | Default | Description |
---|---|---|
Used |
All | A Used |
Available values:
Name | Description |
---|---|
None | The action can’t be applied to any appointments. |
Recurring | The action can be applied to recurring appointments only. |
Non |
The action can be applied to non-recurring appointments only. |
All | The action can be applied to all the appointments. |
Custom | The action is applied according to the custom method specified by the corresponding Allow |
#Property Paths
You can access this nested property as listed below:
Library | Object Type | Path to Allow |
---|---|---|
Win |
Scheduler |
|
ASP. |
Bootstrap |
|
XAF: Cross-Platform .NET App UI & Web API | ASPx |
|
ASP. |
Scheduler |
|
ASP. |
ASPx |
|
#Remarks
By default, end-users are allowed to create new appointments by using UI elements such as the scheduler’s popup menu, a View’s inplace editor or the Edit Appointment dialog. Use the AllowAppointmentCreate property to control the availability of such an action for end-users with respect to an appointment’s specific type.
Note
If the Allow
#Example
This example demonstrates how to implement custom rules for editing and deleting appointments. The code below allows an appointment to be edited only by its owner (the end-user who created it). To do this it’s necessary to set the SchedulerOptionsCustomization.AllowAppointmentEdit and SchedulerOptionsCustomization.AllowAppointmentDelete properties to UsedAppointmentType.Custom, and handle the SchedulerControl.AllowAppointmentEdit and SchedulerControl.AllowAppointmentDelete events to implement custom logic for editing appointments.
using DevExpress.XtraScheduler;
// ...
private void schedulerControl1_AllowAppointmentDelete(object sender,
AppointmentOperationEventArgs e) {
// Allow only the user who created this appontment to delete it.
e.Allow = CanUserModifyThisAppointment(e.Appointment);
}
private void schedulerControl1_AllowAppointmentEdit(object sender,
AppointmentOperationEventArgs e) {
// Allow only the user who created this appontment to modify it.
e.Allow = CanUserModifyThisAppointment(e.Appointment);
}
// Determine if the current user is the same
// as the one who created the specified appointment
bool CanUserModifyThisAppointment(Appointment apt) {
object obj = apt.CustomFields["Owner"];
if (obj == null)
return true;
string appointmentOwner = obj.ToString();
if (appointmentOwner == String.Empty)
return true;
return (String.Compare(appointmentOwner, tbUserName.Text, true) == 0);
}