/// <summary> /// Parses the person field. /// </summary> /// <param name="field">The field.</param> /// <returns></returns> private object ParsePersonField( RegistrationTemplateFormField field ) { switch ( field.PersonFieldType ) { case RegistrationPersonFieldType.FirstName: { var tbFirstName = phRegistrantControls.FindControl( "tbFirstName" ) as RockTextBox; string value = tbFirstName != null ? tbFirstName.Text : null; return string.IsNullOrWhiteSpace( value ) ? null : value; } case RegistrationPersonFieldType.LastName: { var tbLastName = phRegistrantControls.FindControl( "tbLastName" ) as RockTextBox; string value = tbLastName != null ? tbLastName.Text : null; return string.IsNullOrWhiteSpace( value ) ? null : value; } case RegistrationPersonFieldType.Campus: { var cpHomeCampus = phRegistrantControls.FindControl( "cpHomeCampus" ) as CampusPicker; return cpHomeCampus != null ? cpHomeCampus.SelectedCampusId : null; } case RegistrationPersonFieldType.Address: { var location = new Location(); var acAddress = phRegistrantControls.FindControl( "acAddress" ) as AddressControl; if ( acAddress != null ) { acAddress.GetValues( location ); return string.IsNullOrWhiteSpace( location.ToString() ) ? null : location.ToJson(); } break; } case RegistrationPersonFieldType.Email: { var tbEmail = phRegistrantControls.FindControl( "tbEmail" ) as EmailBox; string value = tbEmail != null ? tbEmail.Text : null; return string.IsNullOrWhiteSpace( value ) ? null : value; } case RegistrationPersonFieldType.Birthdate: { var bpBirthday = phRegistrantControls.FindControl( "bpBirthday" ) as BirthdayPicker; return bpBirthday != null ? bpBirthday.SelectedDate : null; } case RegistrationPersonFieldType.Gender: { var ddlGender = phRegistrantControls.FindControl( "ddlGender" ) as RockDropDownList; return ddlGender != null ? ddlGender.SelectedValueAsInt() : null; } case RegistrationPersonFieldType.MaritalStatus: { var ddlMaritalStatus = phRegistrantControls.FindControl( "ddlMaritalStatus" ) as RockDropDownList; return ddlMaritalStatus != null ? ddlMaritalStatus.SelectedValueAsInt() : null; } case RegistrationPersonFieldType.MobilePhone: { var phoneNumber = new PhoneNumber(); var ppMobile = phRegistrantControls.FindControl( "ppMobile" ) as PhoneNumberBox; if ( ppMobile != null ) { phoneNumber.CountryCode = PhoneNumber.CleanNumber( ppMobile.CountryCode ); phoneNumber.Number = PhoneNumber.CleanNumber( ppMobile.Number ); return string.IsNullOrWhiteSpace( phoneNumber.Number ) ? null : phoneNumber.ToJson(); } break; } case RegistrationPersonFieldType.HomePhone: { var phoneNumber = new PhoneNumber(); var ppHome = phRegistrantControls.FindControl( "ppHome" ) as PhoneNumberBox; if ( ppHome != null ) { phoneNumber.CountryCode = PhoneNumber.CleanNumber( ppHome.CountryCode ); phoneNumber.Number = PhoneNumber.CleanNumber( ppHome.Number ); return string.IsNullOrWhiteSpace( phoneNumber.Number ) ? null : phoneNumber.ToJson(); } break; } case RegistrationPersonFieldType.WorkPhone: { var phoneNumber = new PhoneNumber(); var ppWork = phRegistrantControls.FindControl( "ppWork" ) as PhoneNumberBox; if ( ppWork != null ) { phoneNumber.CountryCode = PhoneNumber.CleanNumber( ppWork.CountryCode ); phoneNumber.Number = PhoneNumber.CleanNumber( ppWork.Number ); return string.IsNullOrWhiteSpace( phoneNumber.Number ) ? null : phoneNumber.ToJson(); } break; } } return null; }