void modalDetails_SaveClick(object sender, EventArgs e) { Rock.CMS.Block block; int blockId = 0; if (hfId.Value != string.Empty && !Int32.TryParse(hfId.Value, out blockId)) { blockId = 0; } if (blockId == 0) { block = new Rock.CMS.Block(); _blockService.Add(block, CurrentPersonId); } else { Rock.Web.Cache.Block.Flush(blockId); block = _blockService.Get(blockId); } block.Name = tbName.Text; block.Path = tbPath.Text; block.Description = tbDescription.Text; _blockService.Save(block, CurrentPersonId); BindGrid(); }
public void ApiCreateBlock(string apiKey, Rock.CMS.DTO.Block Block) { using (Rock.Data.UnitOfWorkScope uow = new Rock.Data.UnitOfWorkScope()) { Rock.CMS.UserService userService = new Rock.CMS.UserService(); Rock.CMS.User user = userService.Queryable().Where(u => u.ApiKey == apiKey).FirstOrDefault(); if (user != null) { uow.objectContext.Configuration.ProxyCreationEnabled = false; Rock.CMS.BlockService BlockService = new Rock.CMS.BlockService(); Rock.CMS.Block existingBlock = new Rock.CMS.Block(); BlockService.Add(existingBlock, user.PersonId); uow.objectContext.Entry(existingBlock).CurrentValues.SetValues(Block); if (existingBlock.IsValid) { BlockService.Save(existingBlock, user.PersonId); } else { throw new WebFaultException <string>(existingBlock.ValidationResults.AsDelimited(", "), System.Net.HttpStatusCode.BadRequest); } } else { throw new WebFaultException <string>("Invalid API Key", System.Net.HttpStatusCode.Forbidden); } } }
public void CreateBlock(Rock.CMS.DTO.Block Block) { var currentUser = Rock.CMS.UserService.GetCurrentUser(); if (currentUser == null) { throw new WebFaultException <string>("Must be logged in", System.Net.HttpStatusCode.Forbidden); } using (Rock.Data.UnitOfWorkScope uow = new Rock.Data.UnitOfWorkScope()) { uow.objectContext.Configuration.ProxyCreationEnabled = false; Rock.CMS.BlockService BlockService = new Rock.CMS.BlockService(); Rock.CMS.Block existingBlock = new Rock.CMS.Block(); BlockService.Add(existingBlock, currentUser.PersonId); uow.objectContext.Entry(existingBlock).CurrentValues.SetValues(Block); if (existingBlock.IsValid) { BlockService.Save(existingBlock, currentUser.PersonId); } else { throw new WebFaultException <string>(existingBlock.ValidationResults.AsDelimited(", "), System.Net.HttpStatusCode.BadRequest); } } }
private void LoadBlockTypes() { using (new Rock.Data.UnitOfWorkScope()) { Rock.CMS.BlockService blockService = new Rock.CMS.BlockService(); // Add any unregistered blocks foreach (Rock.CMS.Block block in blockService.GetUnregisteredBlocks(Request.MapPath("~"))) { try { Control control = LoadControl(block.Path); if (control is Rock.Web.UI.Block) { block.Name = Path.GetFileNameWithoutExtension(block.Path); // Split the name on intercapped changes (ie, "HelloWorld" becomes "Hello World") block.Name = System.Text.RegularExpressions.Regex.Replace(block.Name, "([a-z](?=[A-Z])|[A-Z](?=[A-Z][a-z]))", "$1 "); block.Description = block.Path; blockService.Add(block, CurrentPersonId); blockService.Save(block, CurrentPersonId); } } catch { } } ddlBlockType.DataSource = blockService.Queryable().ToList(); ddlBlockType.DataTextField = "Name"; ddlBlockType.DataValueField = "Id"; ddlBlockType.DataBind(); } }
public void ApiCreateBlock( string apiKey, Rock.CMS.DTO.Block Block ) { using ( Rock.Data.UnitOfWorkScope uow = new Rock.Data.UnitOfWorkScope() ) { Rock.CMS.UserService userService = new Rock.CMS.UserService(); Rock.CMS.User user = userService.Queryable().Where( u => u.ApiKey == apiKey ).FirstOrDefault(); if (user != null) { uow.objectContext.Configuration.ProxyCreationEnabled = false; Rock.CMS.BlockService BlockService = new Rock.CMS.BlockService(); Rock.CMS.Block existingBlock = new Rock.CMS.Block(); BlockService.Add( existingBlock, user.PersonId ); uow.objectContext.Entry(existingBlock).CurrentValues.SetValues(Block); if (existingBlock.IsValid) BlockService.Save( existingBlock, user.PersonId ); else throw new WebFaultException<string>( existingBlock.ValidationResults.AsDelimited(", "), System.Net.HttpStatusCode.BadRequest ); } else throw new WebFaultException<string>( "Invalid API Key", System.Net.HttpStatusCode.Forbidden ); } }
private void LoadBlockTypes() { using ( new Rock.Data.UnitOfWorkScope() ) { Rock.CMS.BlockService blockService = new Rock.CMS.BlockService(); // Add any unregistered blocks foreach ( Rock.CMS.Block block in blockService.GetUnregisteredBlocks( Request.MapPath( "~" ) ) ) { try { Control control = LoadControl( block.Path ); if ( control is Rock.Web.UI.Block ) { block.Name = Path.GetFileNameWithoutExtension( block.Path ); // Split the name on intercapped changes (ie, "HelloWorld" becomes "Hello World") block.Name = System.Text.RegularExpressions.Regex.Replace( block.Name, "([a-z](?=[A-Z])|[A-Z](?=[A-Z][a-z]))", "$1 " ); block.Description = block.Path; blockService.Add( block, CurrentPersonId ); blockService.Save( block, CurrentPersonId ); } } catch { } } ddlBlockType.DataSource = blockService.Queryable().ToList(); ddlBlockType.DataTextField = "Name"; ddlBlockType.DataValueField = "Id"; ddlBlockType.DataBind(); } }
public void CreateBlock( Rock.CMS.DTO.Block Block ) { var currentUser = Rock.CMS.UserService.GetCurrentUser(); if ( currentUser == null ) throw new WebFaultException<string>("Must be logged in", System.Net.HttpStatusCode.Forbidden ); using ( Rock.Data.UnitOfWorkScope uow = new Rock.Data.UnitOfWorkScope() ) { uow.objectContext.Configuration.ProxyCreationEnabled = false; Rock.CMS.BlockService BlockService = new Rock.CMS.BlockService(); Rock.CMS.Block existingBlock = new Rock.CMS.Block(); BlockService.Add( existingBlock, currentUser.PersonId ); uow.objectContext.Entry(existingBlock).CurrentValues.SetValues(Block); if (existingBlock.IsValid) BlockService.Save( existingBlock, currentUser.PersonId ); else throw new WebFaultException<string>( existingBlock.ValidationResults.AsDelimited(", "), System.Net.HttpStatusCode.BadRequest ); } }