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); }
public static ExtendedFieldSearchInfo Parse(StringTable values) { ExtendedFieldSearchInfo result = new ExtendedFieldSearchInfo(); ExtendedField[] fileds = AllSettings.Current.ExtendedFieldSettings.FieldsWithPassport.ToArray(); foreach (DictionaryEntry item in values) { if (item.Value == null || (string)item.Value == string.Empty) { continue; } ExtendedField field = Array.Find <ExtendedField>(fileds, match => match.Key == (string)item.Key); if (field != null) { ExtendedFieldType type = UserBO.Instance.GetExtendedFieldType(field.FieldTypeName); if (type != null) { if (result.Items == null) { result.Items = new List <ExtendedFieldSearchInfoItem>(); } result.Items.Add(new ExtendedFieldSearchInfoItem((string)item.Key, (string)item.Value, type.NeedExactMatch)); } } } return(result); }
protected string IncludeExtendFiled(ThreadCateModelField field) { ExtendedFieldType type = UserBO.Instance.GetExtendedFieldType(field.FieldType); this.Include(this.HtmlTextWriter, new object[] { "src", type.FrontendControlSrc, "value", "", "field", field.ExtendedField }); return(null); }
protected string GetFieldTypeName(string fieldType) { ExtendedFieldType type = GetExtendedFieldType(fieldType); if (type == null) { return(string.Empty); } else { return(type.DisplayName); } }
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); }
protected void SaveExtendField() { string key = _Request.Get("Key", Method.Get); if (key == null) { string fieldTypeName = _Request.Get("type"); if (fieldTypeName != null) { ExtendedFieldType fieldType = UserBO.Instance.GetExtendedFieldType(fieldTypeName); if (fieldType != null) { if (CreateExtendField(fieldType) == false) { return; } } } } else { ExtendedFieldType fieldType = UserBO.Instance.GetExtendedFieldType(CurrentField.FieldTypeName); if (fieldType != null) { if (UpdateExtendField(fieldType, key) == false) { return; } } } UserBO.Instance.Server_UpdatePassportUserExtendFieldCache(AllSettings.Current.ExtendedFieldSettings.Fields); UserBO.Instance.RemoveAllUserCache(); }
protected void Save() { MessageDisplay msgDisplay = CreateMessageDisplay("modelname"); string fieldName = _Request.Get("fieldName", Method.Post, string.Empty); string fieldType; if (IsEdit) { fieldType = Field.FieldType; } else { fieldType = _Request.Get("fieldType", Method.Post, string.Empty); } ExtendedFieldType ftype = UserBO.Instance.GetExtendedFieldType(fieldType); if (ftype == null) { msgDisplay.AddError("请选择字段类型"); return; } int sortOrder = _Request.Get <int>("SortOrder", Method.Post, 0); bool enable = _Request.Get <int>("Enable", Method.Post, 1) == 1; bool search = _Request.Get <int>("Search", Method.Post, 1) == 1; bool advancedSearch = _Request.Get <int>("AdvancedSearch", Method.Post, 1) == 1; bool displayInList = _Request.Get <int>("DisplayInList", Method.Post, 1) == 1; bool mustFilled = _Request.Get <int>("MustFilled", Method.Post, 1) == 1; string description = _Request.Get("Description", Method.Post, string.Empty); bool success; try { if (IsEdit == false) { success = ThreadCateBO.Instance.CreateThreadCateModelField(My, ModelID, fieldName, enable, sortOrder, ftype.TypeName, ftype.LoadSettingsFromRequest().ToString() , search, advancedSearch, displayInList, mustFilled, description); } else { success = ThreadCateBO.Instance.UpdateThreadCateModelField(My, FieldID, fieldName, enable, sortOrder, ftype.LoadSettingsFromRequest().ToString() , search, advancedSearch, displayInList, mustFilled, description); } } catch (Exception ex) { msgDisplay.AddError(ex.Message); return; } if (success == false) { CatchError <ErrorInfo>(delegate(ErrorInfo error) { msgDisplay.AddError(error); }); } else { Return(true); } }