using System; using System.ComponentModel; using System.Collections.Generic; using BeWo.Scheduler.View; using BS.Shared.DataContracts; using BS.Shared.DataContracts.Compact; using DevExpress.XtraScheduler; namespace BeWo.Scheduler { public interface ISchedulerViewModel { SchedulerSettings GetDefaultSchedulerSettings(); bool ShouldLockOverlappingAppointmentCheck { get; set; } List AllCustomers { get; } List AllEmployees { get; } Dictionary> Categories2Resources { get; } BindingList Appointments { get; } Dictionary>> ChangedOccurenceCustomFields { get; } void UpdateViewModel(IEnumerable updatedDcList); void SaveAppointments(DevExpress.Xpf.Scheduler.SchedulerControl control, IEnumerable list); void InsertAppointments(DevExpress.Xpf.Scheduler.SchedulerControl control, IEnumerable list); AbstractAppointmentEditForm GetEditAppointmentForm(DevExpress.Xpf.Scheduler.SchedulerControl control, Appointment appointment); void AddCustomFieldsMapping(DevExpress.Xpf.Scheduler.SchedulerStorage schedulerStorage); void InitNewAppointment(Appointment appointment); void InitNewTask(Appointment pAppointment, DateTime? pDueDate, IEnumerable pSelectedEmployees, List pSelectedCustomers, List pSelectedResources, List pSelectedSupportConcepts); bool HideAppointment(string filterCategory, object selectedObject, Appointment appointment, bool showPrivateAppointments, bool showAbsenceTimes, bool pShowTasks); void InitChangedOccurrencyCustomFields(IEnumerable appList); } }