/// <summary> /// Handles the Delete event of the gCampuses control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="RowEventArgs" /> instance containing the event data.</param> protected void gCampuses_Delete( object sender, RowEventArgs e ) { var rockContext = new RockContext(); CampusService campusService = new CampusService( rockContext ); Campus campus = campusService.Get( e.RowKeyId ); if ( campus != null ) { // Don't allow deleting the last campus if ( !campusService.Queryable().Where( c => c.Id != campus.Id ).Any() ) { mdGridWarning.Show( campus.Name + " is the only campus and cannot be deleted (Rock requires at least one campus).", ModalAlertType.Information ); return; } string errorMessage; if ( !campusService.CanDelete( campus, out errorMessage ) ) { mdGridWarning.Show( errorMessage, ModalAlertType.Information ); return; } CampusCache.Flush( campus.Id ); campusService.Delete( campus ); rockContext.SaveChanges(); } BindGrid(); }
/// <summary> /// Handles the Delete event of the gCampuses control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="RowEventArgs" /> instance containing the event data.</param> protected void gCampuses_Delete( object sender, RowEventArgs e ) { var rockContext = new RockContext(); CampusService campusService = new CampusService( rockContext ); Campus campus = campusService.Get( (int)e.RowKeyValue ); if ( campus != null ) { string errorMessage; if ( !campusService.CanDelete( campus, out errorMessage ) ) { mdGridWarning.Show( errorMessage, ModalAlertType.Information ); return; } campusService.Delete( campus ); rockContext.SaveChanges(); } BindGrid(); }
/// <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; 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 filter display /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The e.</param> protected void rAccountFilter_DisplayFilterValue( object sender, GridFilter.DisplayFilterValueArgs e ) { switch ( e.Key ) { case "Campus": int? campusId = e.Value.AsIntegerOrNull(); if ( campusId.HasValue ) { var service = new CampusService( new RockContext() ); var campus = service.Get( campusId.Value ); if ( campus != null ) { e.Value = campus.Name; } } break; } }
/// <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(); }