public ExtendedFieldSettings() { Version = string.Empty; Fields = new ExtendedFieldCollection(); PassportSorts = new StringTable(); IsEnables = new StringTable(); }
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); } }
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); }
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); }
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(); }
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(); }
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(); }
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; }
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"); } } } }
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); } }
public void ClearPassportFields() { m_PassportFields = null; m_FieldsWithPassport = null; }
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(); }
public void UserExtendedFieldList(int userID, ExtendedFieldListTemplate temlate) { ExtendedFieldCollection fields = AllSettings.Current.ExtendedFieldSettings.FieldsWithPassportForDisplay; ExtendedField(userID, fields, temlate); }
public void ExtendedFieldList(ExtendedFieldListTemplate temlate) { ExtendedFieldCollection fields = AllSettings.Current.ExtendedFieldSettings.FieldsWithPassport; ExtendedField(My.UserID, fields, temlate); }