public IHttpActionResult Get(int seriesId) { var rockContext = new RockContext(); var contentItemService = new ContentChannelService(rockContext); var d = new DotLiquid.Context(); ContentChannel contentItem = null; var attrService = new AttributeService(rockContext); var dailyItems = new List<MessageArchiveItem>(); var ids = rockContext.Database.SqlQuery<int>("exec GetMessageArchivesBySeriesId @seriesId", new SqlParameter("seriesId", seriesId)).ToList(); contentItem = contentItemService.Get(11); var items = contentItem.Items.Where(a => ids.Contains(a.Id)).ToList(); foreach (var item in items) { item.LoadAttributes(rockContext); var link = GetVimeoLink(item.GetAttributeValue("VideoId")); var newItem = new MessageArchiveItem(); newItem.Id = item.Id; // newItem.Content = item.Content; newItem.Content = DotLiquid.StandardFilters.StripHtml(item.Content).Replace("\n\n", "\r\n\r\n"); newItem.Date = DateTime.Parse(item.GetAttributeValue("Date")).ToShortDateString(); newItem.Speaker = item.GetAttributeValue("Speaker"); newItem.SpeakerTitle = item.GetAttributeValue("SpeakerTitle"); newItem.Title = item.Title; newItem.VimeoLink = link; var notesAttr = item.Attributes["MessageNotes"]; var binaryFile = new BinaryFileService(new RockContext()).Get(notesAttr.Id); if (binaryFile != null) newItem.Notes = binaryFile.Url; var talkAttr = item.Attributes["TalkItOver"]; binaryFile = new BinaryFileService(new RockContext()).Get(talkAttr.Id); if (binaryFile != null) newItem.TalkItOver = binaryFile.Url; dailyItems.Add(newItem); } return Ok(dailyItems.AsQueryable()); }
/// <summary> /// Handles the Click event of the lbSave 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 lbSave_Click( object sender, EventArgs e ) { var rockContext = new RockContext(); ContentChannel contentChannel; ContentChannelService contentChannelService = new ContentChannelService( rockContext ); int contentChannelId = hfId.Value.AsInteger(); if ( contentChannelId == 0 ) { contentChannel = new ContentChannel { Id = 0 }; contentChannelService.Add( contentChannel ); } else { contentChannel = contentChannelService.Get( contentChannelId ); } if ( contentChannel != null ) { contentChannel.Name = tbName.Text; contentChannel.Description = tbDescription.Text; contentChannel.ContentChannelTypeId = ddlChannelType.SelectedValueAsInt() ?? 0; contentChannel.ContentControlType = ddlContentControlType.SelectedValueAsEnum<ContentControlType>(); contentChannel.RootImageDirectory = tbRootImageDirectory.Visible ? tbRootImageDirectory.Text : string.Empty; contentChannel.IconCssClass = tbIconCssClass.Text; contentChannel.RequiresApproval = cbRequireApproval.Checked; contentChannel.ItemsManuallyOrdered = cbItemsManuallyOrdered.Checked; contentChannel.ChildItemsManuallyOrdered = cbChildItemsManuallyOrdered.Checked; contentChannel.EnableRss = cbEnableRss.Checked; contentChannel.ChannelUrl = tbChannelUrl.Text; contentChannel.ItemUrl = tbItemUrl.Text; contentChannel.TimeToLive = nbTimetoLive.Text.AsIntegerOrNull(); contentChannel.ChildContentChannels = new List<ContentChannel>(); contentChannel.ChildContentChannels.Clear(); foreach ( var item in ChildContentChannelsList ) { var childContentChannel = contentChannelService.Get( item ); if ( childContentChannel != null ) { contentChannel.ChildContentChannels.Add( childContentChannel ); } } contentChannel.LoadAttributes( rockContext ); Rock.Attribute.Helper.GetEditValues( phAttributes, contentChannel ); if ( !Page.IsValid || !contentChannel.IsValid ) { // Controls will render the error messages return; } rockContext.WrapTransaction( () => { rockContext.SaveChanges(); contentChannel.SaveAttributeValues( rockContext ); foreach( var item in new ContentChannelItemService( rockContext ) .Queryable() .Where( i => i.ContentChannelId == contentChannel.Id && i.ContentChannelTypeId != contentChannel.ContentChannelTypeId )) { item.ContentChannelTypeId = contentChannel.ContentChannelTypeId; } rockContext.SaveChanges(); // Save the Item Attributes int entityTypeId = EntityTypeCache.Read( typeof( ContentChannelItem ) ).Id; SaveAttributes( contentChannel.Id, entityTypeId, ItemAttributesState, rockContext ); } ); var pageReference = RockPage.PageReference; pageReference.Parameters.AddOrReplace( "contentChannelId", contentChannel.Id.ToString() ); Response.Redirect( pageReference.BuildUrl(), false ); } }
/// <summary> /// Handles the Delete event of the gContentChannels 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 gContentChannels_Delete( object sender, RowEventArgs e ) { var rockContext = new RockContext(); ContentChannelService contentChannelService = new ContentChannelService( rockContext ); ContentChannel contentChannel = contentChannelService.Get( e.RowKeyId ); if ( contentChannel != null ) { string errorMessage; if ( !contentChannelService.CanDelete( contentChannel, out errorMessage ) ) { mdGridWarning.Show( errorMessage, ModalAlertType.Information ); return; } contentChannelService.Delete( contentChannel ); rockContext.SaveChanges(); } BindGrid(); }
public List<int> Test() { var rockContext = new RockContext(); var contentItemService = new ContentChannelService(rockContext); var d = new DotLiquid.Context(); ContentChannel contentItem = null; var attrService = new AttributeService(rockContext); var dailyItems = new List<int>(); contentItem = contentItemService.Get(20); var items = contentItem.Items.Where(a => a.StartDateTime < DateTime.Now).OrderByDescending(i=>i.Id); foreach (var i in contentItem.Items) { dailyItems.Add(i.Id); } return dailyItems; }