private bool setPersonSettingAttributeField(SettingAttribute attr)
        {
            PersonalSettingAttribute person_attr = PersonalSettings.GetPersonalSettingAttribute(attr);
            if (person_attr == null)
                return false;

            m_PersonalSettingAttribute = person_attr;
            return true;
        }
 public GlobalSettingEntity(SettingAttribute attribute)
 {
     m_SettingAttribute = new SettingAttribute(attribute.SettingType, attribute.SettingName);
 }
Exemple #3
0
        /// <summary>
        /// Получить значение глобального аналога персональной настройки
        /// </summary>
        /// <param name="attribute">Атрибут персональной настройки</param>
        /// <returns>Значение глобального аналога персональной настройки</returns>
        public static object GetGlobalAnalogueOfPersonalSetting(SettingAttribute attribute)
        {
            try
            {
                PersonalSettingAttribute person_attr = GetPersonalSettingAttribute(attribute);
                if (person_attr != null && person_attr.HasGlobalAnalogue)
                {
                    PropertyInfo global_property = GetPropertyBySettingAttributeName(typeof(GlobalSettings), person_attr.GlobalAnalogue);
                    if (global_property != null)
                        return global_property.GetValue(GlobalSettings.Instance, null);
                }
            }
            catch
            { }

            return new object();
        }
Exemple #4
0
        /// <summary>
        /// Проверить, совпадает ли значение персональной (пользовательской) настройки со значением аналогичной глобальной настройки
        /// </summary>
        /// <param name="attribute">Атрибут персональной настройки</param>
        /// <param name="value">Значение персональной настройки</param>
        /// <returns>true - если значение персональной и глобальной настроек совпадают, false - в противном случае</returns>
        public static bool IsGlobalEqual(SettingAttribute attribute, object value)
        {
            try
            {
                object global_value = GetGlobalAnalogueOfPersonalSetting(attribute);
                if (string.Equals(global_value.ToString(), value.ToString()))
                    return true;
            }
            catch
            {}

            return false;
        }
Exemple #5
0
 /// <summary>
 /// Получить атрибут персональной настройки ( PersonalSettingAttribute ) по ключу
 /// </summary>
 /// <param name="attribute">Атрибут персональной настройки</param>
 /// <returns>PersonalSettingAttribute - если настройка была найдена среди свойств класса PersonalSettings, null - в противном случае</returns>
 public static PersonalSettingAttribute GetPersonalSettingAttribute(SettingAttribute attribute)
 {
     PersonalSettingAttribute person_attribute = attribute as PersonalSettingAttribute;
     if (person_attribute != null)
     {
         PersonalSettingAttribute result = new PersonalSettingAttribute(person_attribute.SettingName);
         result.GlobalAnalogue = person_attribute.GlobalAnalogue;
         return result;
     }
     else
         return attribute.SettingType == SettingType.Personal
                 ? GetPersonalSettingAttribute(attribute.SettingName)
                 : null;
 }
 public PersonalSettingEntity(SettingAttribute setting_attr, PersonAttribute person_attr)
 {
     m_PersonAttribute = person_attr;
     if (!setPersonSettingAttributeField(setting_attr))
         throw new Exception("Invalid setting type of personal setting.");
 }
 public PersonalSettingEntity(SettingAttribute setting_attr, object value)
 {
     m_PersonAttribute.StringField = value.ToString();
     if (!setPersonSettingAttributeField(setting_attr))
         throw new Exception("Invalid setting type of personal setting.");
 }