/// <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 service = new ScheduleService(); 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, CurrentPersonId); service.Save(item, CurrentPersonId); // reload page, selecting the deleted data view's parent var qryParams = new Dictionary <string, string>(); if (categoryId != null) { qryParams["CategoryId"] = categoryId.ToString(); } NavigateToPage(this.CurrentPage.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); pdAuditDetails.SetEntity(schedule, ResolveRockUrl("~")); } if (schedule == null) { schedule = new Schedule { Id = 0, CategoryId = parentCategoryId }; // hide the panel drawer that show created and last modified dates pdAuditDetails.Visible = false; } 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); var hasAttendances = schedule.Id > 0 && new AttendanceService(new RockContext()).Queryable().Where(a => a.Occurrence.ScheduleId.HasValue && a.Occurrence.ScheduleId == schedule.Id).Any(); hfHasAttendanceHistory.Value = hasAttendances.Bit().ToString(); if (schedule.Id > 0) { ShowReadonlyDetails(schedule); } else { ShowEditDetails(schedule); } } }
/// <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) { 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 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(); }