Exemplo n.º 1
0
        /// <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);
                }
            }
        }
Exemplo n.º 2
0
        /// <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);
                }
            }
        }
Exemplo n.º 3
0
        /// <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);
                }
            }
        }
Exemplo n.º 4
0
        /// <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();
        }
Exemplo n.º 5
0
        /// <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();
        }