public string GetSoundPath(string status)
        {
            var prop = NotificationSettings.GetType().GetProperty(status + "SoundPath");
            var res  = (string)prop.GetValue(NotificationSettings, null);

            return(res);
        }
        public void SetSoundPath(string status, string path)
        {
            PropertyInfo prop = NotificationSettings.GetType().GetProperty(status + "SoundPath");

            prop.SetValue(NotificationSettings, path, null);

            SaveConfiguration();
        }
        public void SetSoundPath(string status, string path)
        {
            var prop = NotificationSettings.GetType().GetProperty(status + "SoundPath");
            var obj  = prop.GetValue(NotificationSettings, null);

            //  obj == null, is to allow NOTHING to be set to the status.
            if (obj == null || obj.ToString().CompareTo(path) != 0)
            {
                prop.SetValue(NotificationSettings, path, null);
                SaveConfiguration();
            }
        }
        private void UpdateNotificationSettings()
        {
            var updatedNotificationSettings = new NotificationSettings
            {
                Enabled = IsNotificationEnabled
            };

            var type = updatedNotificationSettings.GetType();
            var updatedNotificationProperties = type.GetProperties();

            foreach (var notificationSetting in NotificationSettings)
            {
                var updatedNotificationSetting = updatedNotificationProperties.FirstOrDefault(n => n.Name == notificationSetting.Name);
                if (updatedNotificationSetting != null)
                {
                    updatedNotificationSetting.SetValue(updatedNotificationSettings, notificationSetting.Value);
                }
            }

            _accountService.UpdateNotificationSettings(updatedNotificationSettings);
        }