/// <summary> /// Handles the Click event of the btnSave control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param> protected void btnSave_Click( object sender, EventArgs e ) { Campus campus; CampusService campusService = new CampusService(); int campusId = int.Parse( hfCampusId.Value ); if ( campusId == 0 ) { campus = new Campus(); campusService.Add( campus, CurrentPersonId ); } else { campus = campusService.Get( campusId ); } campus.Name = tbCampusName.Text; campus.ShortCode = tbCampusCode.Text; if ( !campus.IsValid ) { // Controls will render the error messages return; } RockTransactionScope.WrapTransaction( () => { campusService.Save( campus, CurrentPersonId ); } ); NavigateToParentPage(); }
/// <summary> /// Handles the Click event of the btnSave control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param> protected void btnSave_Click( object sender, EventArgs e ) { Campus campus; var rockContext = new RockContext(); var campusService = new CampusService( rockContext ); var locationService = new LocationService( rockContext ); var locationCampusValue = DefinedValueCache.Read(Rock.SystemGuid.DefinedValue.LOCATION_TYPE_CAMPUS.AsGuid()); int campusId = int.Parse( hfCampusId.Value ); if ( campusId == 0 ) { campus = new Campus(); campusService.Add( campus); } else { campus = campusService.Get( campusId ); } campus.Name = tbCampusName.Text; campus.IsActive = cbIsActive.Checked; campus.Description = tbDescription.Text; campus.Url = tbUrl.Text; campus.PhoneNumber = tbPhoneNumber.Text; if ( campus.Location == null ) { var location = locationService.Queryable() .Where( l => l.Name.Equals( campus.Name, StringComparison.OrdinalIgnoreCase ) && l.LocationTypeValueId == locationCampusValue.Id ) .FirstOrDefault(); if (location == null) { location = new Location(); locationService.Add( location ); } campus.Location = location; } campus.Location.Name = campus.Name; campus.Location.LocationTypeValueId = locationCampusValue.Id; string preValue = campus.Location.GetFullStreetAddress(); acAddress.GetValues( campus.Location ); string postValue = campus.Location.GetFullStreetAddress(); campus.ShortCode = tbCampusCode.Text; var personService = new PersonService( rockContext ); var leaderPerson = personService.Get( ppCampusLeader.SelectedValue ?? 0 ); campus.LeaderPersonAliasId = leaderPerson != null ? leaderPerson.PrimaryAliasId : null; campus.ServiceTimes = kvlServiceTimes.Value; campus.LoadAttributes( rockContext ); Rock.Attribute.Helper.GetEditValues( phAttributes, campus ); if ( !campus.IsValid && campus.Location.IsValid) { // Controls will render the error messages return; } rockContext.WrapTransaction( () => { rockContext.SaveChanges(); campus.SaveAttributeValues( rockContext ); if (preValue != postValue && !string.IsNullOrWhiteSpace(campus.Location.Street1)) { locationService.Verify(campus.Location, true); } } ); Rock.Web.Cache.CampusCache.Flush( campus.Id ); NavigateToParentPage(); }
/// <summary> /// Handles the Click event of the btnSave control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param> protected void btnSave_Click( object sender, EventArgs e ) { Campus campus; var rockContext = new RockContext(); CampusService campusService = new CampusService( rockContext ); int campusId = int.Parse( hfCampusId.Value ); if ( campusId == 0 ) { campus = new Campus(); campusService.Add( campus); } else { campus = campusService.Get( campusId ); } campus.Name = tbCampusName.Text; campus.ShortCode = tbCampusCode.Text; campus.PhoneNumber = tbPhoneNumber.Text; var personService = new PersonService( rockContext ); var leaderPerson = personService.Get( ppCampusLeader.SelectedValue ?? 0 ); campus.LeaderPersonAliasId = leaderPerson != null ? leaderPerson.PrimaryAliasId : null; if ( !campus.IsValid ) { // Controls will render the error messages return; } rockContext.SaveChanges(); Rock.Web.Cache.CampusCache.Flush( campus.Id ); NavigateToParentPage(); }