170 lines
6.2 KiB
C#
170 lines
6.2 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 long? AppointmentOid2Answer
|
|
{
|
|
get => DevExpressSchedulerSessionModel.AppointmentOid2Answer;
|
|
set => DevExpressSchedulerSessionModel.AppointmentOid2Answer = value;
|
|
}
|
|
public SchedulerAppointmentDC Appointment2Answer { get; set; }
|
|
|
|
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 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;
|
|
}
|
|
|
|
|
|
#region Benachrichtigungen
|
|
|
|
public List<SchedulerAppointmentDC> OpenAppointments { get; set; }
|
|
|
|
public List<long> OpenAppointmentOids
|
|
{
|
|
get => DevExpressSchedulerSessionModel.OpenAppointmentOids;
|
|
set => DevExpressSchedulerSessionModel.OpenAppointmentOids = value;
|
|
}
|
|
|
|
public int NotificationCount => OpenAppointmentOids?.Count ?? 0;
|
|
|
|
#endregion
|
|
}
|
|
} |