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)); }