public OtherSettingsViewModel(IConfiguratorDatasource datasource)
        {
            this.Datasource = datasource;
            this.savedReportTimeout = this.Datasource.GetReportLockTimeoutHour(UserContext.LocalSite.PrimarySiteStationNUmber);
            this.savedAppTimeout = this.Datasource.GetApplicationTimeout().ToString();
            this.savedRetentionDays = this.Datasource.GetRetentionDays().ToString();

            this.ReportTimeoutHour = this.savedReportTimeout;
            this.ApplicationTimeoutMinutes = this.savedAppTimeout;
            this.RetentionDays = this.savedRetentionDays;

            this.SaveCommand = new RelayCommand(SaveChanges, () => (this.Datasource != null) && (this.IsChanged));
            this.ResetChangesCommand = new RelayCommand(ResetChanges, () => this.IsChanged);
        }
        /// <summary>
        /// Clear all the application context after logout of failure
        /// </summary>
        private void ClearContext()
        {
            UserContext.ResetUserContext();
            Datasource = new ConfiguratorDatasource();
            readingSetupView.DataContext = new ReadingSiteSetupViewModel();
            acquisitionSetupView.DataContext = new AcquisitionSiteSetupViewModel();
            repTemplateView.DataContext = new ReportTemplateViewModel();
            otherSettingsView.DataContext = new OtherSettingsViewModel();

            Log.Debug("All contexts are cleared.");
        }