Пример #1
0
 public ExtendedFieldSettings()
 {
     Version       = string.Empty;
     Fields        = new ExtendedFieldCollection();
     PassportSorts = new StringTable();
     IsEnables     = new StringTable();
 }
Пример #2
0
        private void ExtendedField(int userID, ExtendedFieldCollection fields, ExtendedFieldListTemplate temlate)
        {
            User user = null;

            foreach (ExtendedField field in fields)
            {
                if (user == null && userID != 0)
                {
                    user = UserBO.Instance.GetUser(userID);
                }
                if (user == null)
                {
                    temlate(field, UserBO.Instance.GetExtendedFieldType(field.FieldTypeName), null, 0, null);
                    continue;
                }

                UserExtendedValue extendedValue = user.ExtendedFields.GetValue(field.Key);

                int    privacyType = 0;
                string userValue;
                if (extendedValue != null)
                {
                    privacyType = (int)extendedValue.PrivacyType;
                    userValue   = extendedValue.Value;
                }
                else
                {
                    privacyType = (int)field.DisplayType;
                    userValue   = string.Empty;
                }

                temlate(field, UserBO.Instance.GetExtendedFieldType(field.FieldTypeName), extendedValue, privacyType, userValue);
            }
        }
Пример #3
0
		public ExtendedFieldSettings()
		{
			Version = string.Empty;
			Fields = new ExtendedFieldCollection();
            PassportSorts = new StringTable();
            IsEnables = new StringTable();
		}
Пример #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (AllSettings.Current.BackendPermissions.Can(My, BackendPermissions.Action.Setting_ExtendedField) == false)
            {
                ShowError("没有权限删除扩展字段");
            }

            if (_Request.IsClick("delete"))
            {
                string key = Request.QueryString["key"];

                if (key != null)
                {
                    if (Field.IsPassport)
                    {
                        ShowError("您试图删除的是passport服务器端的扩展字段,这是不允许的");
                    }

                    //ExtendedField[] fields = AllSettings.Current.ExtendedFieldSettings.Fields.ToArray();

                    ExtendedFieldSettings settings = SettingManager.CloneSetttings <ExtendedFieldSettings>(AllSettings.Current.ExtendedFieldSettings);

                    ExtendedFieldCollection fields = new ExtendedFieldCollection();

                    ExtendedField deletedField = null;
                    foreach (ExtendedField field in settings.Fields)
                    {
                        if (field.Key != key)
                        {
                            fields.Add(field);
                        }
                        else
                        {
                            deletedField = field;
                        }
                    }

                    settings.Fields = fields;

                    SettingManager.SaveSettings(settings);

                    if (deletedField != null)
                    {
                        UserBO.Instance.DeleteUserExtendFields(deletedField.Key);
                        UserBO.Instance.Server_UpdatePassportUserExtendFieldCache(fields);
                    }

                    Return("id", key);
                }
            }
        }
        private bool UpdateExtendField(ExtendedFieldType fieldType, string key)
        {
            MsgDisplayForSaveSettings = CreateMessageDisplay();
            ExtendedField extendFiled = GetExtendFieldInfo(fieldType);

            extendFiled.Key = key;

            ExtendedFieldSettings settings = SettingManager.CloneSetttings <ExtendedFieldSettings>(AllSettings.Current.ExtendedFieldSettings);

            settings.Version = Guid.NewGuid().ToString();

            ExtendedFieldCollection fields = new ExtendedFieldCollection();

            ExtendedFieldDisplayType?oldDisplayType = null;

            foreach (ExtendedField field in settings.Fields)
            {
                if (field.Key == extendFiled.Key)
                {
                    fields.Add(extendFiled);
                    oldDisplayType = field.DisplayType;
                }
                else
                {
                    if (string.Compare(extendFiled.Name, field.Name, true) == 0)
                    {
                        MsgDisplayForSaveSettings.AddError("已经存在同名的扩展字段\"" + field.Name + "\",请更换名称");
                        break;
                    }
                    else
                    {
                        fields.Add(field);
                    }
                }
            }

            if (MsgDisplayForSaveSettings.HasAnyError())
            {
                return(false);
            }

            if (oldDisplayType != null && extendFiled.DisplayType != oldDisplayType.Value)
            {
                UserBO.Instance.UpdateUserExtendFieldPrivacy(extendFiled.Key, extendFiled.DisplayType);
            }

            settings.Fields = fields;
            SettingManager.SaveSettings(settings);
            return(true);
        }
Пример #6
0
        void UserBO_OnUserExtendFieldChanged(ExtendedFieldCollection extendedFields)
        {
            ExtendedFieldProxy[] fields = new ExtendedFieldProxy[extendedFields.Count];

            int i = 0;

            foreach (ExtendedField field in extendedFields)
            {
                fields[i] = ProxyConverter.GetExtendedFieldProxy(field);
                i++;
            }

            CreateInstruct(0, InstructType.Setting_UpdateUserExtendedField, fields);
        }
Пример #7
0
        private void SetFields()
        {
            m_FieldsWithPassport           = new ExtendedFieldCollection();
            m_FieldsWithPassportForDisplay = new ExtendedFieldCollection();

            foreach (ExtendedField field in Fields)
            {
                m_FieldsWithPassport.Add(field);
                m_FieldsWithPassportForDisplay.Add(field);
            }
            foreach (ExtendedField field in PassportFields)
            {
                if (string.IsNullOrEmpty(PassportSorts[field.Key]) == false)
                {
                    int sortOrder;
                    if (int.TryParse(PassportSorts[field.Key], out sortOrder))
                    {
                        field.SortOrder = sortOrder;
                    }
                }
                if (IsEnables[field.Key] == "0")
                {
                    field.IsEnable = false;
                }
                else
                {
                    field.IsEnable = true;
                }

                bool hasSameName = false;
                foreach (ExtendedField temp in Fields)
                {
                    if (string.Compare(field.Name, temp.Name, true) == 0)
                    {
                        hasSameName = true;
                        break;
                    }
                }

                if (hasSameName == false)
                {
                    m_FieldsWithPassportForDisplay.Add(field);
                }
                m_FieldsWithPassport.Add(field);
            }

            m_FieldsWithPassportForDisplay.Sort();
            m_FieldsWithPassport.Sort();
        }
Пример #8
0
        protected void Page_Load(object sender, EventArgs e)
		{
            if (AllSettings.Current.BackendPermissions.Can(My, BackendPermissions.Action.Setting_ExtendedField) == false)
                ShowError("没有权限删除扩展字段");

			if (_Request.IsClick("delete"))
			{
				string key = Request.QueryString["key"];

				if(key != null)
				{

                    if (Field.IsPassport)
                    {
                        ShowError("您试图删除的是passport服务器端的扩展字段,这是不允许的");
                    }

					//ExtendedField[] fields = AllSettings.Current.ExtendedFieldSettings.Fields.ToArray();

                    ExtendedFieldSettings settings = SettingManager.CloneSetttings<ExtendedFieldSettings>(AllSettings.Current.ExtendedFieldSettings);

                    ExtendedFieldCollection fields = new ExtendedFieldCollection();

                    ExtendedField deletedField = null;
                    foreach (ExtendedField field in settings.Fields)
					{
                        if (field.Key != key)
                            fields.Add(field);
                        else
                            deletedField = field;
					}

                    settings.Fields = fields;

					SettingManager.SaveSettings(settings);

                    if (deletedField != null)
                    {
                        UserBO.Instance.DeleteUserExtendFields(deletedField.Key);
                        UserBO.Instance.Server_UpdatePassportUserExtendFieldCache(fields);
                    }

                    Return("id", key);
				}
			}
		}
        private void SaveList()
        {
            StringTable passportSorts   = new StringTable();
            StringTable passportEnables = new StringTable();

            string keys = _Request.Get("extendfieldEnable", Method.Post, string.Empty);

            List <string> enableKeys = StringUtil.Split2 <string>(keys);

            ExtendedFieldSettings fieldSetting = SettingManager.CloneSetttings <ExtendedFieldSettings>(AllSettings.Current.ExtendedFieldSettings);

            ExtendedFieldCollection fields = new ExtendedFieldCollection();

            foreach (ExtendedField field in fieldSetting.FieldsWithPassport)
            {
                int sortOrder = _Request.Get <int>(field.Key + "_sortOrder", Method.Post, 0);;
                if (field.IsPassport)
                {
                    passportSorts.Add(field.Key, sortOrder.ToString());
                    if (enableKeys.Contains(field.Key) == false)
                    {
                        passportEnables.Add(field.Key, "0");
                    }
                    //field.SortOrder = sortOrder;
                }
                else
                {
                    field.SortOrder = sortOrder;
                    fields.Add(field);
                }
            }

            fieldSetting.Fields        = fields;
            fieldSetting.PassportSorts = passportSorts;
            fieldSetting.IsEnables     = passportEnables;


            SettingManager.SaveSettings(fieldSetting);

            UserBO.Instance.RemoveAllUserCache();
        }
Пример #10
0
        private void SaveList()
        {
            StringTable passportSorts = new StringTable();
            StringTable passportEnables = new StringTable();

            string keys = _Request.Get("extendfieldEnable", Method.Post,string.Empty);

            List<string> enableKeys = StringUtil.Split2<string>(keys);

            ExtendedFieldSettings fieldSetting = SettingManager.CloneSetttings<ExtendedFieldSettings>(AllSettings.Current.ExtendedFieldSettings);

            ExtendedFieldCollection fields = new ExtendedFieldCollection();
            foreach (ExtendedField field in fieldSetting.FieldsWithPassport)
            {
                int sortOrder = _Request.Get<int>(field.Key + "_sortOrder", Method.Post, 0);;
                if (field.IsPassport)
                {
                    passportSorts.Add(field.Key, sortOrder.ToString());
                    if (enableKeys.Contains(field.Key) == false)
                        passportEnables.Add(field.Key, "0");
                    //field.SortOrder = sortOrder;
                }
                else
                {
                    field.SortOrder = sortOrder;
                    fields.Add(field);
                }

            }

            fieldSetting.Fields = fields;
            fieldSetting.PassportSorts = passportSorts;
            fieldSetting.IsEnables = passportEnables;


            SettingManager.SaveSettings(fieldSetting);

            UserBO.Instance.RemoveAllUserCache();
        }
Пример #11
0
        void UserBO_OnUserExtendFieldChanged(ExtendedFieldCollection extendedFields)
        {
            ExtendedFieldProxy[] fields = new ExtendedFieldProxy[extendedFields.Count];

            int i = 0;
            foreach (ExtendedField field in extendedFields)
            {
                fields[i] = ProxyConverter.GetExtendedFieldProxy(field);
                i++;
            }

            CreateInstruct(0, InstructType.Setting_UpdateUserExtendedField, fields);
        }
Пример #12
0
		private bool UpdateExtendField(ExtendedFieldType fieldType, string key)
		{
            MsgDisplayForSaveSettings = CreateMessageDisplay();
			ExtendedField extendFiled = GetExtendFieldInfo(fieldType);

			extendFiled.Key = key;

            ExtendedFieldSettings settings = SettingManager.CloneSetttings<ExtendedFieldSettings>(AllSettings.Current.ExtendedFieldSettings);

			settings.Version = Guid.NewGuid().ToString();

            ExtendedFieldCollection fields = new ExtendedFieldCollection();

            ExtendedFieldDisplayType? oldDisplayType = null;
            foreach (ExtendedField field in settings.Fields)
			{
                if (field.Key == extendFiled.Key)
                {
                    fields.Add(extendFiled);
                    oldDisplayType = field.DisplayType;
                }
                else
                {
                    if (string.Compare(extendFiled.Name, field.Name, true) == 0)
                    {
                        MsgDisplayForSaveSettings.AddError("已经存在同名的扩展字段\"" + field.Name + "\",请更换名称");
                        break;
                    }
                    else
                        fields.Add(field);
                }
			}

            if (MsgDisplayForSaveSettings.HasAnyError())
                return false;

            if (oldDisplayType!=null && extendFiled.DisplayType != oldDisplayType.Value)
            {
                UserBO.Instance.UpdateUserExtendFieldPrivacy(extendFiled.Key, extendFiled.DisplayType);
            }

            settings.Fields = fields;
			SettingManager.SaveSettings(settings);
            return true;
		}
Пример #13
0
        protected void UpdateUserProfile()
        {
            MessageDisplay msgDisplay;

            string signature;
            short  birthYear;
            short  birthMonth, birthday;
            int    genderValue;
            Gender gender;
            UserExtendedValueCollection extendedFileds;
            float timeZone;

            genderValue = _Request.Get <int>("gender", Method.Post, 0);
            birthYear   = _Request.Get <short>("birthYear", Method.Post, 0);
            birthMonth  = _Request.Get <short>("birthMonth", Method.Post, 0);
            birthday    = _Request.Get <short>("birthday", Method.Post, 0);
            gender      = (Gender)genderValue;
            timeZone    = _Request.Get <float>("timezone", Method.Post, 8.0f);
            signature   = _Request.Get("signature", Method.Post, string.Empty, false);

            List <string> fieldNames = new List <string>();

            ExtendedField[] fields = AllSettings.Current.ExtendedFieldSettings.FieldsWithPassport.ToArray();

            foreach (ExtendedField field in fields)
            {
                fieldNames.Add(field.Key);
            }

            msgDisplay = CreateMessageDisplay(fieldNames.ToArray());

            extendedFileds = UserBO.Instance.LoadExtendedFieldValues();

            CatchError <ErrorInfo>(delegate(ErrorInfo error)
            {
                msgDisplay.AddError(error);
            });

            ExtendedFieldCollection settingFields = AllSettings.Current.ExtendedFieldSettings.FieldsWithPassport;

            bool success = false;

            if (!msgDisplay.HasAnyError())
            {
                foreach (ExtendedField field in settingFields)
                {
                    if (field.IsRequired)
                    {
                        UserExtendedValue temp = extendedFileds.GetValue(field.Key);
                        if (temp == null || string.IsNullOrEmpty(temp.Value))
                        {
                            msgDisplay.AddError(field.Key, "必须填写此项");
                            break;
                        }
                    }
                }

                if (!msgDisplay.HasAnyError())
                {
                    success = UserBO.Instance.UpdateUserProfile(
                        My
                        , gender
                        , birthYear
                        , birthMonth
                        , birthday
                        , signature
                        , timeZone
                        , extendedFileds);

                    if (success == false)
                    {
                        CatchError <ErrorInfo>(delegate(ErrorInfo error)
                        {
                            msgDisplay.AddError(error);
                        });
                    }
                    else
                    {
                        BbsRouter.JumpToCurrentUrl("success=1");
                    }
                }
            }
        }
Пример #14
0
        private void ExtendedField(int userID, ExtendedFieldCollection fields, ExtendedFieldListTemplate temlate)
        {
            User user = null;
            foreach (ExtendedField field in fields)
            {
                if (user == null && userID != 0)
                    user = UserBO.Instance.GetUser(userID);
                if (user == null)
                {
                    temlate(field, UserBO.Instance.GetExtendedFieldType(field.FieldTypeName), null, 0, null);
                    continue;
                }

                UserExtendedValue extendedValue = user.ExtendedFields.GetValue(field.Key);

                int privacyType = 0;
                string userValue;
                if (extendedValue != null)
                {
                    privacyType = (int)extendedValue.PrivacyType;
                    userValue = extendedValue.Value;
                }
                else
                {
                    privacyType = (int)field.DisplayType;
                    userValue = string.Empty;
                }

                temlate(field, UserBO.Instance.GetExtendedFieldType(field.FieldTypeName), extendedValue, privacyType, userValue);
            }
        }
Пример #15
0
 public void ClearPassportFields()
 {
     m_PassportFields = null;
     m_FieldsWithPassport = null;
 }
Пример #16
0
        private void SetFields()
        {
            m_FieldsWithPassport = new ExtendedFieldCollection();
            m_FieldsWithPassportForDisplay = new ExtendedFieldCollection();

            foreach (ExtendedField field in Fields)
            {
                m_FieldsWithPassport.Add(field);
                m_FieldsWithPassportForDisplay.Add(field);
            }
            foreach (ExtendedField field in PassportFields)
            {
                if (string.IsNullOrEmpty(PassportSorts[field.Key]) == false)
                {
                    int sortOrder;
                    if (int.TryParse(PassportSorts[field.Key], out sortOrder))
                        field.SortOrder = sortOrder;
                }
                if (IsEnables[field.Key] == "0")
                {
                    field.IsEnable = false;
                }
                else
                    field.IsEnable = true;

                bool hasSameName = false;
                foreach (ExtendedField temp in Fields)
                {
                    if (string.Compare(field.Name, temp.Name, true) == 0)
                    {
                        hasSameName = true;
                        break;
                    }
                }

                if (hasSameName == false)
                    m_FieldsWithPassportForDisplay.Add(field);
                m_FieldsWithPassport.Add(field);
            }

            m_FieldsWithPassportForDisplay.Sort();
            m_FieldsWithPassport.Sort(); 
        }
Пример #17
0
 public void ClearPassportFields()
 {
     m_PassportFields     = null;
     m_FieldsWithPassport = null;
 }
Пример #18
0
        public void UserExtendedFieldList(int userID, ExtendedFieldListTemplate temlate)
        {
            ExtendedFieldCollection fields = AllSettings.Current.ExtendedFieldSettings.FieldsWithPassportForDisplay;

            ExtendedField(userID, fields, temlate);
        }
Пример #19
0
        public void ExtendedFieldList(ExtendedFieldListTemplate temlate)
        {
            ExtendedFieldCollection fields = AllSettings.Current.ExtendedFieldSettings.FieldsWithPassport;

            ExtendedField(My.UserID, fields, temlate);
        }