Files
BeWoPlaner/BeWoPlanerMobil/Models/DevExpressSchedulerModel.cs

169 lines
6.5 KiB
C#

using System.Collections;
using System.Collections.Generic;
using BeWoPlanerMobil.Util.SchedulerUtils;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using DevExpress.XtraScheduler;
namespace BeWoPlanerMobil.Models
{
public class DevExpressSchedulerModel : AbstractModel
{
public DevExpressSchedulerModel()
{
SessionModel = new DevExpressSchedulerSessionModel();
SessionModel.ResetValues();
}
public SchedulerViewType CurrentViewType
{
get => DevExpressSchedulerSessionModel.CurrentSchedulerViewType;
set => DevExpressSchedulerSessionModel.CurrentSchedulerViewType = value;
}
public DevExpressSchedulerSessionModel DevExpressSchedulerSessionModel => SessionModel as DevExpressSchedulerSessionModel;
public List<CompactCustomerDC> PossibleCustomers { get; set; }
public List<ResourceDC> PossibleResources { get; set; }
public List<CompactEmployeeDC> PossibleEmployees { get; set; }
#region Terminformular-Elemente
public List<CompactCustomerDC> SelectedCustomers { get; set; }
public List<ResourceDC> SelectedResources { get; set; }
public List<CompactEmployeeDC> SelectedEmployees { get; set; }
public List<long> SelectedCustomerOids
{
get => DevExpressSchedulerSessionModel.SelectedCustomerOids;
set => DevExpressSchedulerSessionModel.SelectedCustomerOids = value;
}
public List<long> SelectedEmployeeOids
{
get => DevExpressSchedulerSessionModel.SelectedEmployeeOids;
set => DevExpressSchedulerSessionModel.SelectedEmployeeOids = value;
}
public List<long> SelectedResourceOids
{
get => DevExpressSchedulerSessionModel.SelectedResourceOids;
set => DevExpressSchedulerSessionModel.SelectedResourceOids = value;
}
#endregion
public EmployeeAvailabilityObject EmployeeAvailabilityObject { get; set; }
public IEnumerable Appointments { get; set; }
public IEnumerable Resources { get; set; }
public SchedulerAppointmentDC GetAppointmentByOid(long oid)
{
foreach(SchedulerAppointmentDC appointment in Appointments)
{
if(appointment.SchedulerAppointmentOid?.Equals(oid) ?? false)
{
return appointment;
}
}
return null;
}
public List<long> SelectedEmployeeOidsForFiltering
{
get => DevExpressSchedulerSessionModel.SelectedEmployeeOidsForFiltering;
set => DevExpressSchedulerSessionModel.SelectedEmployeeOidsForFiltering = value;
}
public List<long> SelectedCustomerOidsForFiltering
{
get => DevExpressSchedulerSessionModel.SelectedCustomerOidsForFiltering;
set => DevExpressSchedulerSessionModel.SelectedCustomerOidsForFiltering = value;
}
public List<long> SelectedResourceOidsForFiltering
{
get => DevExpressSchedulerSessionModel.SelectedResourceOidsForFiltering;
set => DevExpressSchedulerSessionModel.SelectedResourceOidsForFiltering = value;
}
public List<CompactTeamDC> MyTeams { get; set; } = new List<CompactTeamDC>();
public Dictionary<ValueListEntryDC, List<ResourceDC>> ResourceCategories2Resources { get; set; } = new Dictionary<ValueListEntryDC, List<ResourceDC>>();
public List<CompactEmployeeDC> MyTeamEmployees { get; set; }
public List<long> TeamMemberCustomerOids { get; set; }
public List<CompactEmployeeDC> SelectedEmployeesForFiltering { get; set; }
public List<CompactCustomerDC> SelectedCustomersForFiltering { get; set; }
public List<ResourceDC> SelectedResourcesForFiltering { get; set; }
public List<CompactEmployeeDC> SelectedEmployeesForIntervalFinder { get; set; }
public List<CompactCustomerDC> SelectedCustomersForIntervalFinder { get; set; }
public List<ResourceDC> SelectedResourcesForIntervalFinder { get; set; }
public List<long> SelectedEmployeeOidsForIntervalFinder
{
get => DevExpressSchedulerSessionModel.SelectedEmployeeOidsForIntervalFinder;
set => DevExpressSchedulerSessionModel.SelectedEmployeeOidsForIntervalFinder = value;
}
public List<long> SelectedCustomerOidsForIntervalFinder
{
get => DevExpressSchedulerSessionModel.SelectedCustomerOidsForIntervalFinder;
set => DevExpressSchedulerSessionModel.SelectedCustomerOidsForIntervalFinder = value;
}
public List<long> SelectedResourceOidsForIntervalFinder
{
get => DevExpressSchedulerSessionModel.SelectedResourceOidsForIntervalFinder;
set => DevExpressSchedulerSessionModel.SelectedResourceOidsForIntervalFinder = value;
}
public bool ShowTasks
{
get => DevExpressSchedulerSessionModel.ShowTasks;
set => DevExpressSchedulerSessionModel.ShowTasks = value;
}
public bool ShowOnlyPrivateAppointments
{
get => DevExpressSchedulerSessionModel.ShowOnlyPrivateAppointments;
set => DevExpressSchedulerSessionModel.ShowOnlyPrivateAppointments = value;
}
public bool ShowOnlyEmployees
{
get => DevExpressSchedulerSessionModel.ShowOnlyEmployees;
set => DevExpressSchedulerSessionModel.ShowOnlyEmployees = value;
}
public bool ShowOnlyCustomers
{
get => DevExpressSchedulerSessionModel.ShowOnlyCustomers;
set => DevExpressSchedulerSessionModel.ShowOnlyCustomers = value;
}
public bool ShowOnlyResources
{
get => DevExpressSchedulerSessionModel.ShowOnlyResources;
set => DevExpressSchedulerSessionModel.ShowOnlyResources = value;
}
public bool ShowAbsenceTimes
{
get => DevExpressSchedulerSessionModel.ShowAbsenceTimes;
set => DevExpressSchedulerSessionModel.ShowAbsenceTimes = value;
}
public bool ShowEmployeeColors
{
get => DevExpressSchedulerSessionModel.ShowEmployeeColors;
set => DevExpressSchedulerSessionModel.ShowEmployeeColors = value;
}
public bool ShowOnlyMyOwnAppointments
{
get => DevExpressSchedulerSessionModel.ShowOnlyMyOwnAppointments;
set => DevExpressSchedulerSessionModel.ShowOnlyMyOwnAppointments = value;
}
}
}