/// <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) { if (!Page.IsValid) { return; } var rockContext = new RockContext(); var mediaFolderService = new MediaFolderService(rockContext); var mediaFolderId = hfId.Value.AsIntegerOrNull(); MediaFolder mediaFolder = null; if (mediaFolderId.HasValue) { mediaFolder = mediaFolderService.Get(mediaFolderId.Value); } var isNew = mediaFolder == null; if (isNew) { mediaFolder = new MediaFolder() { Id = 0, MediaAccountId = hfMediaAccountId.ValueAsInt() }; mediaFolderService.Add(mediaFolder); } mediaFolder.Name = tbName.Text; mediaFolder.Description = tbDescription.Text; mediaFolder.IsContentChannelSyncEnabled = swEnableContentChannelSync.Checked; mediaFolder.WorkflowTypeId = wtpWorkflowType.SelectedValueAsId(); if (swEnableContentChannelSync.Checked) { var contentChannelId = ContentChannelCache.GetId(ddlContentChannel.SelectedValue.AsGuid()); if (contentChannelId.HasValue) { mediaFolder.ContentChannelId = contentChannelId.Value; } mediaFolder.ContentChannelAttributeId = ddlChannelAttribute.SelectedValueAsInt(); mediaFolder.ContentChannelItemStatus = rrbContentChannelItemStatus.SelectedValueAsEnum <ContentChannelItemStatus>(); } else { mediaFolder.ContentChannelId = null; mediaFolder.ContentChannelAttributeId = null; mediaFolder.ContentChannelItemStatus = null; } rockContext.SaveChanges(); var pageReference = RockPage.PageReference; pageReference.Parameters.AddOrReplace(PageParameterKey.MediaFolderId, mediaFolder.Id.ToString()); Response.Redirect(pageReference.BuildUrl(), false); }
/// <summary> /// Handles the DeleteClick event of the gFolderList control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="Rock.Web.UI.Controls.RowEventArgs"/> instance containing the event data.</param> protected void gFolderList_DeleteClick(object sender, Rock.Web.UI.Controls.RowEventArgs e) { var rockContext = new RockContext(); var mediaFolderService = new MediaFolderService(rockContext); var mediaFolder = mediaFolderService.Get(e.RowKeyId); if (mediaFolder != null) { string errorMessage; if (!mediaFolderService.CanDelete(mediaFolder, out errorMessage)) { mdGridWarning.Show(errorMessage, ModalAlertType.Information); return; } mediaFolderService.Delete(mediaFolder); rockContext.SaveChanges(); } BindGrid(); }
/// <summary> /// Shows the detail. /// </summary> /// <param name="mediaFolderId">The media folder identifier.</param> /// <param name="mediaAccountId">The media account identifier.</param> private void ShowDetail(int mediaFolderId, int?mediaAccountId) { var rockContext = new RockContext(); var mediaFolderService = new MediaFolderService(rockContext); MediaFolder mediaFolder = null; if (!mediaAccountId.Equals(0)) { mediaFolder = mediaFolderService.Get(mediaFolderId); } if (mediaFolder == null) { MediaAccount mediaAccount = null; if (mediaAccountId.HasValue) { mediaAccount = new MediaAccountService(rockContext).Get(mediaAccountId.Value); } if (mediaAccount != null) { mediaFolder = new MediaFolder { Id = 0, MediaAccountId = mediaAccount.Id }; } else { pnlView.Visible = false; return; } } hfId.SetValue(mediaFolder.Id); hfMediaAccountId.SetValue(mediaFolder.MediaAccountId); pnlView.Visible = true; bool readOnly = false; nbEditModeMessage.Text = string.Empty; if (!IsUserAuthorized(Authorization.EDIT)) { readOnly = true; nbEditModeMessage.Text = EditModeMessage.ReadOnlyEditActionNotAllowed(MediaFolder.FriendlyTypeName); } if (readOnly) { btnEdit.Visible = false; btnSyncContentChannelItems.Visible = false; ShowReadonlyDetails(mediaFolder); } else { btnEdit.Visible = true; if (mediaFolder.Id > 0) { btnSyncContentChannelItems.Visible = !(mediaFolder.MediaAccount.GetMediaAccountComponent()?.AllowsManualEntry ?? true); ShowReadonlyDetails(mediaFolder); } else { btnSyncContentChannelItems.Visible = false; ShowEditDetails(mediaFolder); } } }