/// <summary> /// Creates the child controls. /// </summary> /// <returns></returns> public override Control[] CreateChildControls( Type entityType, FilterField filterControl ) { CampusPicker campusPicker = new CampusPicker(); campusPicker.ID = filterControl.ID + "_campusPicker"; campusPicker.Label = "Campus"; campusPicker.Campuses = new CampusService( new RockContext() ).Queryable().OrderBy( a => a.Name ).ToList(); filterControl.Controls.Add( campusPicker ); return new Control[] { campusPicker }; }
/// <summary> /// Creates the child controls. /// </summary> /// <returns></returns> public override Control[] CreateChildControls( Type entityType, FilterField filterControl ) { CampusPicker campusPicker = new CampusPicker(); campusPicker.ID = filterControl.ID + "_campusPicker"; campusPicker.Label = "Campus"; campusPicker.Campuses = CampusCache.All(); filterControl.Controls.Add( campusPicker ); return new Control[] { campusPicker }; }
/// <summary> /// Creates the child controls. /// </summary> /// <returns></returns> public override Control[] CreateChildControls( Type entityType, FilterField filterControl ) { CampusPicker campusPicker = new CampusPicker(); campusPicker.ID = filterControl.ID + "_0"; campusPicker.Label = string.Empty; campusPicker.CssClass = "js-campus-picker"; campusPicker.Campuses = CampusCache.All(); filterControl.Controls.Add( campusPicker ); return new Control[1] { campusPicker }; }
/// <summary> /// Creates the control(s) necessary for prompting user for a new value /// </summary> /// <param name="configurationValues">The configuration values.</param> /// <param name="id"></param> /// <returns> /// The control /// </returns> public override System.Web.UI.Control EditControl( Dictionary<string, ConfigurationValue> configurationValues, string id ) { var campusPicker = new CampusPicker { ID = id }; var campusList = CampusCache.All(); if ( campusList.Any() ) { campusPicker.Campuses = campusList; return campusPicker; } return null; }
/// <summary> /// Creates the control(s) neccessary for prompting user for a new value /// </summary> /// <param name="configurationValues">The configuration values.</param> /// <param name="id"></param> /// <returns> /// The control /// </returns> public override System.Web.UI.Control EditControl( Dictionary<string, ConfigurationValue> configurationValues, string id ) { var campusPicker = new CampusPicker { ID = id }; CampusService campusService = new CampusService( new RockContext() ); var campusList = campusService.Queryable().OrderBy( a => a.Name ).ToList(); if ( campusList.Any() ) { campusPicker.Campuses = campusList; return campusPicker; } return null; }
/// <summary> /// Creates the person field. /// </summary> /// <param name="field">The field.</param> /// <param name="setValue">if set to <c>true</c> [set value].</param> /// <param name="fieldValue">The field value.</param> private void CreatePersonField( RegistrationTemplateFormField field, bool setValue, object fieldValue ) { switch ( field.PersonFieldType ) { case RegistrationPersonFieldType.FirstName: { var tbFirstName = new RockTextBox(); tbFirstName.ID = "tbFirstName"; tbFirstName.Label = "First Name"; tbFirstName.Required = field.IsRequired; tbFirstName.ValidationGroup = BlockValidationGroup; tbFirstName.AddCssClass( "js-first-name" ); phRegistrantControls.Controls.Add( tbFirstName ); if ( setValue && fieldValue != null ) { tbFirstName.Text = fieldValue.ToString(); } break; } case RegistrationPersonFieldType.LastName: { var tbLastName = new RockTextBox(); tbLastName.ID = "tbLastName"; tbLastName.Label = "Last Name"; tbLastName.Required = field.IsRequired; tbLastName.ValidationGroup = BlockValidationGroup; phRegistrantControls.Controls.Add( tbLastName ); if ( setValue && fieldValue != null ) { tbLastName.Text = fieldValue.ToString(); } break; } case RegistrationPersonFieldType.Campus: { var cpHomeCampus = new CampusPicker(); cpHomeCampus.ID = "cpHomeCampus"; cpHomeCampus.Label = "Campus"; cpHomeCampus.Required = field.IsRequired; cpHomeCampus.ValidationGroup = BlockValidationGroup; cpHomeCampus.Campuses = CampusCache.All(); phRegistrantControls.Controls.Add( cpHomeCampus ); if ( setValue && fieldValue != null ) { cpHomeCampus.SelectedCampusId = fieldValue.ToString().AsIntegerOrNull(); } break; } case RegistrationPersonFieldType.Address: { var acAddress = new AddressControl(); acAddress.ID = "acAddress"; acAddress.Label = "Address"; acAddress.UseStateAbbreviation = true; acAddress.UseCountryAbbreviation = false; acAddress.Required = field.IsRequired; acAddress.ValidationGroup = BlockValidationGroup; phRegistrantControls.Controls.Add( acAddress ); if ( setValue && fieldValue != null ) { var value = fieldValue.ToString().FromJsonOrNull<Location>(); acAddress.SetValues( value ); } break; } case RegistrationPersonFieldType.Email: { var tbEmail = new EmailBox(); tbEmail.ID = "tbEmail"; tbEmail.Label = "Email"; tbEmail.Required = field.IsRequired; tbEmail.ValidationGroup = BlockValidationGroup; phRegistrantControls.Controls.Add( tbEmail ); if ( setValue && fieldValue != null ) { tbEmail.Text = fieldValue.ToString(); } break; } case RegistrationPersonFieldType.Birthdate: { var bpBirthday = new BirthdayPicker(); bpBirthday.ID = "bpBirthday"; bpBirthday.Label = "Birthday"; bpBirthday.Required = field.IsRequired; bpBirthday.ValidationGroup = BlockValidationGroup; phRegistrantControls.Controls.Add( bpBirthday ); if ( setValue && fieldValue != null ) { var value = fieldValue as DateTime?; bpBirthday.SelectedDate = value; } break; } case RegistrationPersonFieldType.Gender: { var ddlGender = new RockDropDownList(); ddlGender.ID = "ddlGender"; ddlGender.Label = "Gender"; ddlGender.Required = field.IsRequired; ddlGender.ValidationGroup = BlockValidationGroup; ddlGender.BindToEnum<Gender>( false ); // change the 'Unknow' value to be blank instead ddlGender.Items.FindByValue( "0" ).Text = string.Empty; phRegistrantControls.Controls.Add( ddlGender ); if ( setValue && fieldValue != null ) { var value = fieldValue.ToString().ConvertToEnumOrNull<Gender>() ?? Gender.Unknown; ddlGender.SetValue( value.ConvertToInt() ); } break; } case RegistrationPersonFieldType.MaritalStatus: { var ddlMaritalStatus = new RockDropDownList(); ddlMaritalStatus.ID = "ddlMaritalStatus"; ddlMaritalStatus.Label = "Marital Status"; ddlMaritalStatus.Required = field.IsRequired; ddlMaritalStatus.ValidationGroup = BlockValidationGroup; ddlMaritalStatus.BindToDefinedType( DefinedTypeCache.Read( Rock.SystemGuid.DefinedType.PERSON_MARITAL_STATUS.AsGuid() ), true ); phRegistrantControls.Controls.Add( ddlMaritalStatus ); if ( setValue && fieldValue != null ) { var value = fieldValue.ToString().AsInteger(); ddlMaritalStatus.SetValue( value ); } break; } case RegistrationPersonFieldType.MobilePhone: { var dv = DefinedValueCache.Read( Rock.SystemGuid.DefinedValue.PERSON_PHONE_TYPE_MOBILE ); if ( dv != null ) { var ppMobile = new PhoneNumberBox(); ppMobile.ID = "ppMobile"; ppMobile.Label = dv.Value; ppMobile.Required = field.IsRequired; ppMobile.ValidationGroup = BlockValidationGroup; ppMobile.CountryCode = PhoneNumber.DefaultCountryCode(); phRegistrantControls.Controls.Add( ppMobile ); if ( setValue && fieldValue != null ) { var value = fieldValue as PhoneNumber; if ( value != null ) { ppMobile.CountryCode = value.CountryCode; ppMobile.Number = value.ToString(); } } } break; } case RegistrationPersonFieldType.HomePhone: { var dv = DefinedValueCache.Read( Rock.SystemGuid.DefinedValue.PERSON_PHONE_TYPE_HOME ); if ( dv != null ) { var ppHome = new PhoneNumberBox(); ppHome.ID = "ppHome"; ppHome.Label = dv.Value; ppHome.Required = field.IsRequired; ppHome.ValidationGroup = BlockValidationGroup; ppHome.CountryCode = PhoneNumber.DefaultCountryCode(); phRegistrantControls.Controls.Add( ppHome ); if ( setValue && fieldValue != null ) { var value = fieldValue as PhoneNumber; if ( value != null ) { ppHome.CountryCode = value.CountryCode; ppHome.Number = value.ToString(); } } } break; } case RegistrationPersonFieldType.WorkPhone: { var dv = DefinedValueCache.Read( Rock.SystemGuid.DefinedValue.PERSON_PHONE_TYPE_WORK ); if ( dv != null ) { var ppWork = new PhoneNumberBox(); ppWork.ID = "ppWork"; ppWork.Label = dv.Value; ppWork.Required = field.IsRequired; ppWork.ValidationGroup = BlockValidationGroup; ppWork.CountryCode = PhoneNumber.DefaultCountryCode(); phRegistrantControls.Controls.Add( ppWork ); if ( setValue && fieldValue != null ) { var value = fieldValue.ToString().FromJsonOrNull<PhoneNumber>(); if ( value != null ) { ppWork.CountryCode = value.CountryCode; ppWork.Number = value.ToString(); } } } break; } } }
/// <summary> /// Creates the control(s) necessary for prompting user for a new value /// </summary> /// <param name="configurationValues">The configuration values.</param> /// <param name="id"></param> /// <returns> /// The control /// </returns> public override System.Web.UI.Control EditControl( Dictionary<string, ConfigurationValue> configurationValues, string id ) { var campusPicker = new CampusPicker { ID = id }; var allCampuses = CampusCache.All(); bool includeInactive = ( configurationValues != null && configurationValues.ContainsKey( INCLUDE_INACTIVE_KEY ) && configurationValues[INCLUDE_INACTIVE_KEY].Value.AsBoolean() ); var campusList = allCampuses .Where( c => !c.IsActive.HasValue || c.IsActive.Value || includeInactive ) .ToList(); if ( campusList.Any() ) { campusPicker.Campuses = campusList; return campusPicker; } return null; }