public Rock.CMS.DTO.Block ApiGet(string id, string apiKey) { 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 Block = BlockService.Get(int.Parse(id)); if (Block.Authorized("View", user)) { return(Block.DataTransferObject); } else { throw new WebFaultException <string>("Not Authorized to View this Block", System.Net.HttpStatusCode.Forbidden); } } else { throw new WebFaultException <string>("Invalid API Key", System.Net.HttpStatusCode.Forbidden); } } }
public void UpdateBlock(string id, 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 = BlockService.Get(int.Parse(id)); if (existingBlock.Authorized("Edit", currentUser)) { 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); } } else { throw new WebFaultException <string>("Not Authorized to Edit this Block", System.Net.HttpStatusCode.Forbidden); } } }
public void ApiDeleteBlock(string id, string apiKey) { 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 Block = BlockService.Get(int.Parse(id)); if (Block.Authorized("Edit", user)) { BlockService.Delete(Block, user.PersonId); BlockService.Save(Block, user.PersonId); } else { throw new WebFaultException <string>("Not Authorized to Edit this Block", System.Net.HttpStatusCode.Forbidden); } } else { throw new WebFaultException <string>("Invalid API Key", System.Net.HttpStatusCode.Forbidden); } } }
public void DeleteBlock(string id) { 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 Block = BlockService.Get(int.Parse(id)); if (Block.Authorized("Edit", currentUser)) { BlockService.Delete(Block, currentUser.PersonId); BlockService.Save(Block, currentUser.PersonId); } else { throw new WebFaultException <string>("Not Authorized to Edit this Block", System.Net.HttpStatusCode.Forbidden); } } }
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 ApiDeleteBlock( string id, string apiKey ) { 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 Block = BlockService.Get( int.Parse( id ) ); if ( Block.Authorized( "Edit", user ) ) { BlockService.Delete( Block, user.PersonId ); BlockService.Save( Block, user.PersonId ); } else throw new WebFaultException<string>( "Not Authorized to Edit this Block", System.Net.HttpStatusCode.Forbidden ); } else throw new WebFaultException<string>( "Invalid API Key", System.Net.HttpStatusCode.Forbidden ); } }
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 Rock.CMS.DTO.Block Get(string id) { 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 Block = BlockService.Get(int.Parse(id)); if (Block.Authorized("View", currentUser)) { return(Block.DataTransferObject); } else { throw new WebFaultException <string>("Not Authorized to View this Block", 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 Rock.CMS.DTO.Block ApiGet( string id, string apiKey ) { 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 Block = BlockService.Get( int.Parse( id ) ); if ( Block.Authorized( "View", user ) ) return Block.DataTransferObject; else throw new WebFaultException<string>( "Not Authorized to View this Block", System.Net.HttpStatusCode.Forbidden ); } else throw new WebFaultException<string>( "Invalid API Key", System.Net.HttpStatusCode.Forbidden ); } }
public void UpdateBlock( string id, 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 = BlockService.Get( int.Parse( id ) ); if ( existingBlock.Authorized( "Edit", currentUser ) ) { 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 ); } else throw new WebFaultException<string>( "Not Authorized to Edit this Block", System.Net.HttpStatusCode.Forbidden ); } }
public Rock.CMS.DTO.Block Get( string id ) { 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 Block = BlockService.Get( int.Parse( id ) ); if ( Block.Authorized( "View", currentUser ) ) return Block.DataTransferObject; else throw new WebFaultException<string>( "Not Authorized to View this Block", System.Net.HttpStatusCode.Forbidden ); } }
public void DeleteBlock( string id ) { 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 Block = BlockService.Get( int.Parse( id ) ); if ( Block.Authorized( "Edit", currentUser ) ) { BlockService.Delete( Block, currentUser.PersonId ); BlockService.Save( Block, currentUser.PersonId ); } else throw new WebFaultException<string>( "Not Authorized to Edit this Block", System.Net.HttpStatusCode.Forbidden ); } }