Files
BeWoPlaner/BeWoPlanerMobil/Views/DevExpressScheduler/SchedulerHelper.cs
Lyndon bacc7fcedd Verhindern, dass Ressourcen doppelt gebucht werden mit Recht: ToDoOID=91266751
Serientermine können gelöscht werden, aber es fehlt noch eine Abfrage, ob man wirklich löschen will bei normalen Terminen.
2026-07-13 20:32:48 +02:00

76 lines
5.5 KiB
C#

using DevExpress.Web.ASPxScheduler;
using DevExpress.Web.Mvc;
using BS.Shared.DataContracts;
namespace BeWoPlanerMobil.Views.DevExpressScheduler
{
public static class SchedulerHelper
{
private static MVCxAppointmentStorage _DefaultAppointmentStorage;
public static MVCxAppointmentStorage DefaultAppointmentStorage => _DefaultAppointmentStorage ?? (_DefaultAppointmentStorage = CreateDefaultAppointmentStorage());
private static MVCxResourceStorage _DefaultResourceStorage;
public static MVCxResourceStorage DefaultResourceStorage => _DefaultResourceStorage ?? (_DefaultResourceStorage = CreateDefaultResourceStorage());
private static MVCxAppointmentStorage CreateDefaultAppointmentStorage()
{
var appointmentStorage = new MVCxAppointmentStorage();
appointmentStorage.Mappings.AppointmentId = nameof(SchedulerAppointmentDC.SchedulerAppointmentOid);
appointmentStorage.Mappings.Type = nameof(SchedulerAppointmentDC.Type);
appointmentStorage.Mappings.Label = nameof(SchedulerAppointmentDC.LabelKey);
appointmentStorage.Mappings.AllDay = nameof(SchedulerAppointmentDC.AllDay);
appointmentStorage.Mappings.Location = nameof(SchedulerAppointmentDC.Location);
appointmentStorage.Mappings.Status = nameof(SchedulerAppointmentDC.Status);
appointmentStorage.Mappings.RecurrenceInfo = nameof(SchedulerAppointmentDC.RecurrenceInfo);
appointmentStorage.Mappings.Subject = nameof(SchedulerAppointmentDC.Subject);
appointmentStorage.Mappings.Start = nameof(SchedulerAppointmentDC.StartDate);
appointmentStorage.Mappings.End = nameof(SchedulerAppointmentDC.EndDate);
appointmentStorage.Mappings.Description = nameof(SchedulerAppointmentDC.Description);
appointmentStorage.Mappings.ReminderInfo = nameof(SchedulerAppointmentDC.ReminderInfo);
appointmentStorage.Mappings.ResourceId = "ResourceID";
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("Originator", nameof(SchedulerAppointmentDC.Originator)));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("Customers", nameof(SchedulerAppointmentDC.CustomerList)));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("Employees", nameof(SchedulerAppointmentDC.EmployeeList)));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("Resources", nameof(SchedulerAppointmentDC.ResourceList)));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("IsPrivate", "IsPrivate"));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("CanBeEdited", "CanBeEdited"));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("HasServiceRecordEntry", "HasServiceRecordEntry"));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("ServiceRecordList", "ServiceRecordList"));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("IsAbsenceTime", "IsAbsenceTime"));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("IsCustomerAbsenceTime", "IsCustomerAbsenceTime"));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("AbsenceTimeStart", "AbsenceTimeStart"));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("AbsenceTimeEnd", "AbsenceTimeEnd"));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("AbsenceTimeOid", "AbsenceTimeOid"));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("IsTask", "IsTask"));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("DueDate", "DueDate"));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("CompletedDate", "CompletedDate"));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("CompletedNotice", "CompletedNotice"));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("CompletedUser", "CompletedUser"));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("TaskDescription", "TaskDescription"));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("ShowEmployeeColors", "ShowEmployeeColors"));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("CanBeViewed", "CanBeViewed"));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("CanBeDeleted", "CanBeDeleted"));
appointmentStorage.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("NewSchedulerAppointmentVersion", "NewSchedulerAppointmentVersion"));
return appointmentStorage;
}
private static MVCxResourceStorage CreateDefaultResourceStorage()
{
var resourceStorage = new MVCxResourceStorage();
resourceStorage.Mappings.ResourceId = "Id";
resourceStorage.Mappings.Caption = "Caption";
return resourceStorage;
}
}
}