public static IEnumerable <SelectListItem> AsSelectList(this ProfileField Field, string SelectedValue, string UndefinedText = "(not selected)") { string[] selected = new string[0]; if (!string.IsNullOrEmpty(SelectedValue)) { selected = SelectedValue.Split(new string[] { ",", ";" }, StringSplitOptions.RemoveEmptyEntries); } return(AsSelectList(Field, selected, UndefinedText)); }
public static MvcHtmlString AsOptionList(this ProfileField Field, string SelectedValue, string UndefinedText = "(not selected)") { IEnumerable <SelectListItem> list = AsSelectList(Field, SelectedValue, UndefinedText); StringBuilder html = new StringBuilder(); foreach (SelectListItem item in list) { html.AppendFormat("<option value=\"{0}\" title=\"{1}\" {2}>{1}</option>\r\n", item.Value, item.Text, item.Selected ? "selected" : ""); } return(new MvcHtmlString(html.ToString())); }
public JsonResult GetEditFieldDialog(int GroupID, int FieldID, int TabIndex) { ProfileField Field = ProfileFields.GetBy(FieldID); ProfileFieldGroupFieldModel _model = new ProfileFieldGroupFieldModel(Field); _model.tabIndex = TabIndex; return(Json(new { Html = this.RenderPartialView(@"_EditField", _model), }, JsonRequestBehavior.AllowGet)); }
public JsonResult RemoveProfileFields(int[] Fields) { foreach (int Field in Fields) { ProfileField field = ProfileFields.GetBy(Field); field.Delete(); AuditEvent.AppEventSuccess(Profile.Member.Email, String.Format("The \"{0}\" field has been deleted.", field.FieldName)); } RequestResultModel _model = new RequestResultModel(); _model.InfoType = RequestResultInfoType.Success; _model.Message = "All selected fields (and their data) have been deleted."; return(Json(new { NotifyType = NotifyType.PageInline, Html = this.RenderPartialView(@"_RequestResultPageInLine", _model), }, JsonRequestBehavior.AllowGet)); }
public static IEnumerable <SelectListItem> AsSelectList(this ProfileField Field, string[] SelectedValues, string UndefinedText = "(not selected)") { List <SelectListItem> items = new List <SelectListItem>(); if (!string.IsNullOrEmpty(UndefinedText)) { items.Add(new SelectListItem() { Value = "", Text = UndefinedText, Selected = (SelectedValues == null || SelectedValues.Length == 0) }); } foreach (string value in Field.Options.Split(new string[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries)) { items.Add(new SelectListItem() { Text = value, Value = value, Selected = SelectedValues.Contains(value) }); } return(items); }
public ProfileFieldGroupFieldModel(ProfileField Field) { this.Field = Field; }
public JsonResult AddField(String Name, String FieldType, String Comment, String PossibleValues, String SelectText, String IsMandatory, String ShowInSignup, String SortValues, String IsActive, String AdminUseOnly, String VerticalLayout, int FieldGroupID, bool Encrypted, int[] SelectedDomains, int[] SelectedRoles) { ProfileField profileField = ProfileFields.GetByName(Name); String Message = ""; if (profileField.FieldID > 0 && profileField.FieldName.Trim().ToLower() == Name.Trim().ToLower()) { Message = "The field \"" + Name + "\" already exists."; } if (Name.Trim().ToLower().Length == 0) { Message = "The field name should not be empty."; } if (Message != "") { RequestResultModel _model = new RequestResultModel(); _model.InfoType = RequestResultInfoType.ErrorOrDanger; _model.Message = Message; AuditEvent.AppEventWarning(Profile.Member.Email, Message); return(Json(new { NotifyType = NotifyType.DialogInline, Html = this.RenderPartialView(@"_RequestResultDialogInLine", _model), }, JsonRequestBehavior.AllowGet)); } profileField.FieldName = Name; profileField.Comment = Comment; profileField.FieldTypeID = (ProfileFieldTypeEnum)int.Parse(FieldType); profileField.PossibleValues = PossibleValues; profileField.TextSelectValue = SelectText; profileField.IsMandatory = (IsMandatory == "True" ? 1 : 0); profileField.ShowInSignUp = (ShowInSignup == "True" ? 1 : 0); profileField.SortValues = SortValues == "True" ? 1 : 0; profileField.IsActive = IsActive == "True" ? 1 : 0; profileField.AdminUseOnly = AdminUseOnly == "True" ? 1 : 0; profileField.VerticalLayout = VerticalLayout == "True" ? 1 : 0; profileField.FieldGroupID = FieldGroupID; profileField.Encrypted = Encrypted == true ? 1 : 0; profileField.Save(); if (SelectedDomains != null) { List <Domain> _domains = Domains.Get(); foreach (Domain _domain in _domains) { DomainProfileField _domainField = new DomainProfileField(); _domainField.DomainID = _domain.DomainID; _domainField.ProfileFieldID = profileField.FieldID; if (SelectedDomains.Where(t => t == _domain.DomainID).FirstOrDefault() != default(int)) { _domainField.Save(); } } } if (SelectedRoles != null) { List <Role> _roles = Web.Admin.Logic.Collections.Roles.Get(); foreach (Role _role in _roles) { RoleProfileField _roleField = new RoleProfileField(); _roleField.RoleID = _role.RoleID; _roleField.ProfileFieldID = profileField.FieldID; if (SelectedRoles.Where(t => t == _role.RoleID).FirstOrDefault() != default(int)) { _roleField.Save(); } } } AuditEvent.AppEventSuccess(Profile.Member.Email, String.Format("The \"{0}\" field has been added.", Name)); return(Json(new { NotifyType = -1, Html = "", }, JsonRequestBehavior.AllowGet)); }
public static ProfileFieldDto ToDto(this ProfileField profileField) { return(profileField.MapTo <ProfileField, ProfileFieldDto>()); }
public static MvcHtmlString BooleanAsRadio(this HtmlHelper <UserProfile> html, ProfileField Field, bool?value) { throw new NotImplementedException(); }
public ActionResult SaveProfile(List <ProfileFieldInfo> FieldInfo, string TimeZoneID) { System.Threading.Thread.Sleep(1000); RequestResultModel _model = new RequestResultModel(); _model.InfoType = RequestResultInfoType.ErrorOrDanger; _model.Message = ""; // Check mandatory fields foreach (ProfileFieldInfo Field in FieldInfo) { ProfileField profileField = ProfileFields.GetBy(int.Parse(Field.ID)); if (profileField.IsMandatory == 1 && (Field.Value == null || Field.Value.Trim().Length == 0)) { _model.Message += String.Format("<li>{0}</li>", String.Format(GetLabel("Account.CreateAccount.Mandatory"), profileField.FieldName)); } if (profileField.IsMandatory == 1 && profileField.FieldTypeID == ProfileFieldTypeEnum.CheckBox && Field.Value != null && Field.Value.ToLower() == "false") { _model.Message += String.Format("<li>{0}</li>", String.Format(GetLabel("Account.CreateAccount.Mandatory"), profileField.FieldName)); } } if (_model.Message.Length > 0) { _model.Message = String.Format("<ul class=\"error-message-list\">{0}</ul>", _model.Message); return(Json(new { Status = RequestResultInfoType.ErrorOrDanger, NotifyType = NotifyType.DialogInline, Message = HttpUtility.HtmlDecode(this.RenderPartialView(@"_RequestResultPageInLine", _model)) }, JsonRequestBehavior.AllowGet)); } if (Profile.Member.TimeZoneID != TimeZoneID) { AuditEvent.AppEventInfo(AppSession.Profile.Member.Email, String.Format("Member updated time zone to: \"{0}\" ", Profile.Member.TimeZoneID)); } Profile.Member.TimeZoneID = TimeZoneID; Profile.Member.UpdateTimeZone(); String FieldValues = ""; List <MemberProfileField> memberProfileFields = MemberProfileFields.GetByMember(Profile.Member.MemberID); foreach (ProfileFieldInfo Field in FieldInfo) { String Value = Field.Value != null?Field.Value.Trim() : Field.Value; ProfileField profileField = ProfileFields.GetBy(int.Parse(Field.ID)); MemberProfileField memberProfileField = MemberProfileFields.GetField(memberProfileFields, int.Parse(Field.ID)); if (profileField.Encrypted == 1 && memberProfileField.FieldValue != null && memberProfileField.FieldValue.Length > 0) { memberProfileField.FieldValue = Encryptor.DecryptStringAES(memberProfileField.FieldValue, AppSession.EncryptionKey); } if (Value != memberProfileField.FieldValue) { FieldValues += String.Format("<b>Name</b>: {0} <b>Before:</b> \"{1}\" <b>Now:</b> \"{2}\"<br/>", profileField.FieldName, memberProfileField.FieldValue, Value); } memberProfileField.MemberID = Profile.Member.MemberID; memberProfileField.FieldID = int.Parse(Field.ID); memberProfileField.FieldValue = Value; if (profileField.Encrypted == 1 && memberProfileField.FieldValue != null && memberProfileField.FieldValue.Length > 0) { memberProfileField.FieldValue = Encryptor.EncryptStringAES(memberProfileField.FieldValue, AppSession.EncryptionKey); } memberProfileField.Save(); } memberProfileFields = MemberProfileFields.GetByMember(Profile.Member.MemberID); List <MemberFieldNameValue> MemberFieldNameValues = new List <MemberFieldNameValue>(); foreach (MemberProfileField memberField in memberProfileFields) { MemberFieldNameValues.Add(new MemberFieldNameValue { Name = memberField.ProfileFieldID.ToString(), Value = memberField.FieldValue, Type = (int)ProfileFields.GetBy(memberField.FieldID).FieldTypeID }); } _model.Message = "Your profile has been updated successfully."; _model.InfoType = RequestResultInfoType.Success; AuditEvent.AppEventInfo(AppSession.Profile.Member.Email, String.Format("Profile of \"{0}\" {1} member has been updated successfully.", AppSession.Profile.Member.Name, AppSession.Profile.Member.Email), AuditEvent.GetSessionDetails(FieldValues)); return(Json(new { Status = RequestResultInfoType.Success, NotifyType = NotifyType.DialogInline, Message = HttpUtility.HtmlDecode(this.RenderPartialView(@"_RequestResultPageInLine", _model)), MemberFields = MemberFieldNameValues, TimeZoneID = Profile.Member.TimeZoneID != null && Profile.Member.TimeZoneID.Length > 0 ? Profile.Member.TimeZoneID : "" }, JsonRequestBehavior.AllowGet)); }
public ProfileFieldModel(ProfileField Field, ProfileFieldMode Mode, String Value = "") { this.Field = Field; this.Mode = Mode; this.Value = Value; }