本文整理汇总了C#中Rock.Model.CategoryService.CanDelete方法的典型用法代码示例。如果您正苦于以下问题:C# CategoryService.CanDelete方法的具体用法?C# CategoryService.CanDelete怎么用?C# CategoryService.CanDelete使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Rock.Model.CategoryService
的用法示例。
在下文中一共展示了CategoryService.CanDelete方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: rGrid_Delete
/// <summary>
/// Handles the Delete event of the rGrid 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 rGrid_Delete( object sender, RowEventArgs e )
{
var rockContext = new RockContext();
var service = new CategoryService( rockContext );
var category = service.Get( (int)rGrid.DataKeys[e.RowIndex]["id"] );
if ( category != null )
{
string errorMessage = string.Empty;
if ( service.CanDelete( category, out errorMessage ) )
{
service.Delete( category );
rockContext.SaveChanges();
}
else
{
nbMessage.Text = errorMessage;
nbMessage.Visible = true;
}
}
BindGrid();
}
示例2: gCategories_Delete
/// <summary>
/// Handles the Delete event of the gCategories 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 gCategories_Delete( object sender, RowEventArgs e )
{
var service = new CategoryService();
var category = service.Get( (int)gCategories.DataKeys[e.RowIndex]["id"] );
if ( category != null )
{
string errorMessage = string.Empty;
if ( service.CanDelete( category, out errorMessage ) )
{
service.Delete( category, CurrentPersonId );
service.Save( category, CurrentPersonId );
}
else
{
nbMessage.Text = errorMessage;
nbMessage.Visible = true;
}
}
BindGrid();
}
示例3: ShowDetail
/// <summary>
/// Shows the detail.
/// </summary>
/// <param name="categoryId">The category identifier.</param>
/// <param name="parentCategoryId">The parent category id.</param>
public void ShowDetail( int categoryId, int? parentCategoryId )
{
pnlDetails.Visible = false;
var categoryService = new CategoryService( new RockContext() );
Category category = null;
if ( !categoryId.Equals( 0 ) )
{
category = categoryService.Get( categoryId );
}
if ( category == null )
{
category = new Category { Id = 0, IsSystem = false, ParentCategoryId = parentCategoryId};
// fetch the ParentCategory (if there is one) so that security can check it
category.ParentCategory = categoryService.Get( parentCategoryId ?? 0 );
category.EntityTypeId = entityTypeId;
category.EntityTypeQualifierColumn = entityTypeQualifierProperty;
category.EntityTypeQualifierValue = entityTypeQualifierValue;
}
if (category.EntityTypeId != entityTypeId || !category.IsAuthorized( Authorization.VIEW, CurrentPerson ) )
{
pnlDetails.Visible = false;
return;
}
pnlDetails.Visible = true;
hfCategoryId.Value = category.Id.ToString();
// render UI based on Authorized and IsSystem
bool readOnly = false;
nbEditModeMessage.Text = string.Empty;
// if the person is Authorized to EDIT the category, or has EDIT for the block
var canEdit = category.IsAuthorized( Authorization.EDIT, CurrentPerson ) || this.IsUserAuthorized(Authorization.EDIT);
if ( !canEdit )
{
readOnly = true;
nbEditModeMessage.Text = EditModeMessage.ReadOnlyEditActionNotAllowed( Category.FriendlyTypeName );
}
if ( category.IsSystem )
{
readOnly = true;
nbEditModeMessage.Text = EditModeMessage.ReadOnlySystem( Category.FriendlyTypeName );
}
btnSecurity.Visible = category.IsAuthorized( Authorization.ADMINISTRATE, CurrentPerson );
btnSecurity.Title = category.Name;
btnSecurity.EntityId = category.Id;
if ( readOnly )
{
btnEdit.Visible = false;
btnDelete.Visible = false;
ShowReadonlyDetails( category );
}
else
{
btnEdit.Visible = true;
string errorMessage = string.Empty;
btnDelete.Visible = true;
btnDelete.Enabled = categoryService.CanDelete(category, out errorMessage);
btnDelete.ToolTip = btnDelete.Enabled ? string.Empty : errorMessage;
if ( category.Id > 0 )
{
ShowReadonlyDetails( category );
}
else
{
ShowEditDetails( category );
}
}
if ( btnDelete.Visible && btnDelete.Enabled )
{
btnDelete.Attributes["onclick"] = string.Format( "javascript: return Rock.dialogs.confirmDelete(event, '{0}');", Category.FriendlyTypeName.ToLower() );
}
}
示例4: btnDelete_Click
/// <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? parentCategoryId = null;
var rockContext = new RockContext();
var categoryService = new CategoryService( rockContext );
var category = categoryService.Get( int.Parse( hfCategoryId.Value ) );
if ( category != null )
{
string errorMessage;
if ( !categoryService.CanDelete( category, out errorMessage ) )
{
ShowReadonlyDetails( category );
mdDeleteWarning.Show( errorMessage, ModalAlertType.Information );
}
else
{
parentCategoryId = category.ParentCategoryId;
CategoryCache.Flush( category.Id );
categoryService.Delete( category );
rockContext.SaveChanges();
// reload page, selecting the deleted category's parent
var qryParams = new Dictionary<string, string>();
if ( parentCategoryId != null )
{
qryParams["CategoryId"] = parentCategoryId.ToString();
}
NavigateToPage( RockPage.Guid, qryParams );
}
}
}
示例5: ShowDetail
/// <summary>
/// Shows the detail.
/// </summary>
/// <param name="itemKey">The item key.</param>
/// <param name="itemKeyValue">The item key value.</param>
/// <param name="parentCategoryId">The parent category id.</param>
public void ShowDetail( string itemKey, int itemKeyValue, int? parentCategoryId )
{
pnlDetails.Visible = false;
if ( !itemKey.Equals( "categoryId" ) )
{
return;
}
var categoryService = new CategoryService();
Category category = null;
if ( !itemKeyValue.Equals( 0 ) )
{
category = categoryService.Get( itemKeyValue );
}
else
{
category = new Category { Id = 0, IsSystem = false, ParentCategoryId = parentCategoryId};
category.EntityTypeId = entityTypeId;
category.EntityTypeQualifierColumn = entityTypeQualifierProperty;
category.EntityTypeQualifierValue = entityTypeQualifierValue;
}
if ( category == null || !category.IsAuthorized( "View", CurrentPerson ) )
{
return;
}
pnlDetails.Visible = true;
hfCategoryId.Value = category.Id.ToString();
// render UI based on Authorized and IsSystem
bool readOnly = false;
nbEditModeMessage.Text = string.Empty;
if ( !category.IsAuthorized( "Edit", CurrentPerson ) )
{
readOnly = true;
nbEditModeMessage.Text = EditModeMessage.ReadOnlyEditActionNotAllowed( Category.FriendlyTypeName );
}
if ( category.IsSystem )
{
readOnly = true;
nbEditModeMessage.Text = EditModeMessage.ReadOnlySystem( Category.FriendlyTypeName );
}
btnSecurity.Visible = category.IsAuthorized( "Administrate", CurrentPerson );
btnSecurity.Title = category.Name;
btnSecurity.EntityId = category.Id;
if ( readOnly )
{
btnEdit.Visible = false;
btnDelete.Visible = false;
ShowReadonlyDetails( category );
}
else
{
btnEdit.Visible = true;
string errorMessage = string.Empty;
btnDelete.Visible = categoryService.CanDelete(category, out errorMessage);
if ( category.Id > 0 )
{
ShowReadonlyDetails( category );
}
else
{
ShowEditDetails( category );
}
}
}
示例6: ShowDetail
/// <summary>
/// Shows the detail.
/// </summary>
/// <param name="categoryId">The category identifier.</param>
/// <param name="parentCategoryId">The parent category id.</param>
public void ShowDetail( int categoryId, int? parentCategoryId )
{
pnlDetails.Visible = false;
var categoryService = new CategoryService( new RockContext() );
Category category = null;
if ( !categoryId.Equals( 0 ) )
{
category = categoryService.Get( categoryId );
}
if ( category == null )
{
category = new Category { Id = 0, IsSystem = false, ParentCategoryId = parentCategoryId};
category.EntityTypeId = entityTypeId;
category.EntityTypeQualifierColumn = entityTypeQualifierProperty;
category.EntityTypeQualifierValue = entityTypeQualifierValue;
}
if (category.EntityTypeId != entityTypeId || !category.IsAuthorized( Authorization.VIEW, CurrentPerson ) )
{
pnlDetails.Visible = false;
return;
}
pnlDetails.Visible = true;
hfCategoryId.Value = category.Id.ToString();
// render UI based on Authorized and IsSystem
bool readOnly = false;
nbEditModeMessage.Text = string.Empty;
if ( !category.IsAuthorized( Authorization.EDIT, CurrentPerson ) )
{
readOnly = true;
nbEditModeMessage.Text = EditModeMessage.ReadOnlyEditActionNotAllowed( Category.FriendlyTypeName );
}
if ( category.IsSystem )
{
readOnly = true;
nbEditModeMessage.Text = EditModeMessage.ReadOnlySystem( Category.FriendlyTypeName );
}
btnSecurity.Visible = category.IsAuthorized( Authorization.ADMINISTRATE, CurrentPerson );
btnSecurity.Title = category.Name;
btnSecurity.EntityId = category.Id;
if ( readOnly )
{
btnEdit.Visible = false;
btnDelete.Visible = false;
ShowReadonlyDetails( category );
}
else
{
btnEdit.Visible = true;
string errorMessage = string.Empty;
btnDelete.Visible = categoryService.CanDelete(category, out errorMessage);
if ( category.Id > 0 )
{
ShowReadonlyDetails( category );
}
else
{
ShowEditDetails( category );
}
}
}