using System.Collections.Generic; using BS.Shared; namespace BeWo.Core.Config { public class AppSettings { private bool mIsServiceRecordNoticeMandatory = true; private bool mIsPasswordSecurityActiv = false; private bool mIsEndDateVisible = true; private bool misOnlyYearMonthVisible = true; private bool misZeiterfassDateNormal = true; private bool misZeiterfassungInStdMin = true; private bool mShowOnlyMySupportConcepts = true; private WindowStateType mWindowStateType = WindowStateType.Default; private ServiceRecordTimeInterval mLastSelectedServiceRecordTimeInterval = ServiceRecordTimeInterval.All; private int mLastSelectedServiceRecordTimeIntervalDays = 7; private ZeiterfassungsDauer mLetzteZeiterfassungsDauer = ZeiterfassungsDauer.Minuten; public enum WindowStateType { Default, Maximised } public bool IsServiceRecordNoticeMandatory { get { return mIsServiceRecordNoticeMandatory; } set { mIsServiceRecordNoticeMandatory = value; } } public bool IsPasswordSecurityActiv { get { return mIsPasswordSecurityActiv; } set { mIsPasswordSecurityActiv = value; } } public bool IsEndDateVisible { get { return mIsEndDateVisible; } set { mIsEndDateVisible = value; } } public bool IsOnlyYearMonthVisible { get { return misOnlyYearMonthVisible; } set { misOnlyYearMonthVisible = value; } } public bool IsZeiterfassDateNormal { get { return misZeiterfassDateNormal; } set { misZeiterfassDateNormal = value; } } public bool IsZeiterfassungInStdMin { get { return misZeiterfassungInStdMin; } set { misZeiterfassungInStdMin = value; } } public ZeiterfassungsDauer LetzteZeiterfassungsDauer { get { return mLetzteZeiterfassungsDauer; } set { if (mLetzteZeiterfassungsDauer != value) { mLetzteZeiterfassungsDauer = value; IsDirty = true; } } } public int MaxDaysEditServiceRecordsAllowed { get; set; } public int HilfeplanAuslaufAuswahl { get; set; } public int LastSelectedStundenkontoIntervall { get; set; } public int AnzTageZeiterfassErfolgt { get; set; } public int ZeiterfassungsSchwellwert { get; set; } public bool HideServiceRecordInsertedByAndInsertedOn { get; set; } public bool ShowAdvisedAttendedFlag { get; set; } private bool _showAllClients; public bool ShowAllClients { get { return _showAllClients; } set { if (_showAllClients != value) { _showAllClients = value; IsDirty = true; } } } public bool ShowDatevFields { get; set; } private bool _showExpiredSupportConcepts = true; public bool ShowExpiredSupportConcepts { get { return _showExpiredSupportConcepts; } set { if (_showExpiredSupportConcepts != value) { _showExpiredSupportConcepts = value; IsDirty = true; } } } private bool _showOnlyMyClients; public bool ShowOnlyMyClients { get { return _showOnlyMyClients; } set { if (_showOnlyMyClients != value) { _showOnlyMyClients = value; IsDirty = true; } } } private bool _showServiceRecordGridControl; public bool ShowServiceRecordGridControl { get { return _showServiceRecordGridControl; } set { if (_showServiceRecordGridControl != value) { _showServiceRecordGridControl = value; IsDirty = true; } } } public bool ShowLargeCustomerNotice { get; set; } public bool ShowOnlyMySupportConcepts { get { return mShowOnlyMySupportConcepts; } set { if (mShowOnlyMySupportConcepts != value) { mShowOnlyMySupportConcepts = value; IsDirty = true; } } } public bool ZeigeNurMeineTermine { get { return mZeigeNurMeineTermine; } set { if (mZeigeNurMeineTermine != value) { mZeigeNurMeineTermine = value; IsDirty = true; } } } private double _DocumentationFontSize = 11d; public double DocumentationFontSize { get { return _DocumentationFontSize; } set { if (!_DocumentationFontSize.Equals(value)) { _DocumentationFontSize = value; IsDirty = true; } } } private string _startupPanelMaximized; public string StartupPanelMaximized { get { return _startupPanelMaximized; } set { string newValue = value; if (newValue == string.Empty) newValue = null; if (_startupPanelMaximized != newValue) { _startupPanelMaximized = value; IsDirty = true; } } } private List _startupPanelOrder; public List StartupPanelOrder { get { return _startupPanelOrder; } set { if (IsOrderDifferent(_startupPanelOrder, value)) { _startupPanelOrder = value; IsDirty = true; } } } private bool mZeigeNurMeineTermine; private bool IsOrderDifferent(List oldOrder, List newOrder) { if (oldOrder == null && newOrder != null) return true; else if (oldOrder != null && newOrder == null) return true; else if (oldOrder != null && newOrder != null) { if (oldOrder.Count != newOrder.Count) return true; else { for (int i = 0; i < oldOrder.Count; i++) { if (newOrder[i] != oldOrder[i]) return true; } } } return false; } public WindowStateType WindowState { get { return mWindowStateType; } set { if (mWindowStateType != value) { mWindowStateType = value; IsDirty = true; } } } public ServiceRecordTimeInterval LastSelectedServiceRecordTimeInterval { get { return mLastSelectedServiceRecordTimeInterval; } set { if (mLastSelectedServiceRecordTimeInterval != value) { mLastSelectedServiceRecordTimeInterval = value; IsDirty = true; } } } public int LastSelectedServiceRecordTimeIntervalDays { get { return mLastSelectedServiceRecordTimeIntervalDays; } set { if (mLastSelectedServiceRecordTimeIntervalDays != value) { mLastSelectedServiceRecordTimeIntervalDays = value; IsDirty = true; } } } public bool IsDirty { get; set; } public string TimeRecordingMenuName { get; set; } public bool ShowDistanceFields { get; set; } public bool ShowHilfeplanBezeichnung { get; set; } public bool ShowArbeitszeiten { get; set; } public bool ShowSignatures { get; set; } public bool ShowRtfTextfeld { get; set; } public bool ShowTeamNews { get; set; } public bool ShowMarker { get; set; } public bool ShowAdditionalService { get; set; } public bool ShowCustomerDistanceFields { get; set; } public bool ShowRoundedDurationInEmployeeAnalysis { get; set; } public bool ShowAnnualReport { get; set; } public bool ShowRessources { get; set; } public bool IsSchedulerAllowed { get; set; } public bool IsWohnheimAllowed { get; set; } public bool IsMedicationAllowed { get; set; } public bool PrinterSettingsUsePaperKind { get; set; } public bool PrinterSettingsUseLandscape { get; set; } public bool PrinterSettingsUseMargins { get; set; } } }