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; } } }