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 ExtendedField GetExtendFieldInfo(ExtendedFieldType fieldType) { ExtendedField extendFiled = new ExtendedField(); extendFiled.FieldTypeName = fieldType.TypeName; extendFiled.Name = _Request.Get("Name", Method.Post); extendFiled.Description = _Request.Get("Description", Method.Post); extendFiled.IsRequired = _Request.Get("IsRequired", Method.Post) == "True"; extendFiled.IsHidden = _Request.Get("IsHidden", Method.Post) == "True"; extendFiled.Searchable = _Request.Get("Searchable", Method.Post) == "True"; extendFiled.DisplayType = _Request.Get<ExtendedFieldDisplayType>("DisplayType", Method.Post, ExtendedFieldDisplayType.AllVisible); extendFiled.SortOrder = _Request.Get<int>("SortOrder", Method.Post, 0); extendFiled.Settings = fieldType.LoadSettingsFromRequest(); return extendFiled; }
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; }