/// <summary> /// Handles the Delete event of the gSchedules 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 gSchedules_Delete( object sender, RowEventArgs e ) { var rockContext = new RockContext(); ScheduleService scheduleService = new ScheduleService( rockContext ); Schedule schedule = scheduleService.Get( e.RowKeyId ); if ( schedule != null ) { string errorMessage; if ( !scheduleService.CanDelete( schedule, out errorMessage ) ) { mdGridWarning.Show( errorMessage, ModalAlertType.Information ); return; } scheduleService.Delete( schedule ); rockContext.SaveChanges(); } BindGrid(); }
/// <summary> /// Handles the Click event of the btnDelete 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 btnDelete_Click( object sender, EventArgs e ) { int? categoryId = null; var rockContext = new RockContext(); var service = new ScheduleService( rockContext ); var item = service.Get( int.Parse( hfScheduleId.Value ) ); if ( item != null ) { string errorMessage; if ( !service.CanDelete( item, out errorMessage ) ) { ShowReadonlyDetails( item ); mdDeleteWarning.Show( errorMessage, ModalAlertType.Information ); } else { categoryId = item.CategoryId; service.Delete( item ); rockContext.SaveChanges(); // reload page, selecting the deleted data view's parent var qryParams = new Dictionary<string, string>(); if ( categoryId != null ) { qryParams["CategoryId"] = categoryId.ToString(); } NavigateToPage( RockPage.Guid, qryParams ); } } }
/// <summary> /// Shows the detail. /// </summary> /// <param name="scheduleId">The schedule identifier.</param> /// <param name="parentCategoryId">The parent category id.</param> public void ShowDetail( int scheduleId, int? parentCategoryId ) { pnlDetails.Visible = false; var scheduleService = new ScheduleService( new RockContext() ); Schedule schedule = null; if ( !scheduleId.Equals( 0 ) ) { schedule = scheduleService.Get( scheduleId ); } if ( schedule == null ) { schedule = new Schedule { Id = 0, CategoryId = parentCategoryId }; } pnlDetails.Visible = true; hfScheduleId.Value = schedule.Id.ToString(); // render UI based on Authorized and IsSystem bool readOnly = false; nbEditModeMessage.Text = string.Empty; if ( !IsUserAuthorized( Authorization.EDIT ) ) { readOnly = true; nbEditModeMessage.Text = EditModeMessage.ReadOnlyEditActionNotAllowed( Schedule.FriendlyTypeName ); } if ( readOnly ) { btnEdit.Visible = false; btnDelete.Visible = false; ShowReadonlyDetails( schedule ); } else { btnEdit.Visible = true; string errorMessage = string.Empty; btnDelete.Visible = scheduleService.CanDelete( schedule, out errorMessage ); if ( schedule.Id > 0 ) { ShowReadonlyDetails( schedule ); } else { ShowEditDetails( schedule ); } } }
/// <summary> /// Handles the Delete event of the gSchedules 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 gSchedules_Delete( object sender, RowEventArgs e ) { RockTransactionScope.WrapTransaction( () => { ScheduleService scheduleService = new ScheduleService(); Schedule schedule = scheduleService.Get( (int)e.RowKeyValue ); if ( schedule != null ) { string errorMessage; if ( !scheduleService.CanDelete( schedule, out errorMessage ) ) { mdGridWarning.Show( errorMessage, ModalAlertType.Information ); return; } scheduleService.Delete( schedule, CurrentPersonId ); scheduleService.Save( schedule, CurrentPersonId ); } } ); BindGrid(); }