private bool CreateExtendField(ExtendedFieldType fieldType) { MessageDisplay msgDisplay = CreateMessageDisplay(); ExtendedField extendFiled = GetExtendFieldInfo(fieldType); extendFiled.Key = Guid.NewGuid().ToString(); ExtendedFieldSettings settings = SettingManager.CloneSetttings <ExtendedFieldSettings>(AllSettings.Current.ExtendedFieldSettings); settings.Version = Guid.NewGuid().ToString(); foreach (ExtendedField field in AllSettings.Current.ExtendedFieldSettings.Fields) { if (string.Compare(extendFiled.Name, field.Name, true) == 0) { msgDisplay.AddError("已经存在同名的扩展字段\"" + field.Name + "\",请更换名称"); break; } } if (msgDisplay.HasAnyError()) { return(false); } settings.Fields.Add(extendFiled); SettingManager.SaveSettings(settings); return(true); }
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); }
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(); }