protected void lbSave_Click( object sender, EventArgs e )
{
var dataViewFilter = GetFilterControl();
// update Guids since we are creating a new dataFilter and children and deleting the old one
SetNewDataFilterGuids( dataViewFilter );
if ( !Page.IsValid )
{
return;
}
if ( !dataViewFilter.IsValid )
{
// Controls will render the error messages
return;
}
var rockContext = new RockContext();
DataViewFilterService dataViewFilterService = new DataViewFilterService( rockContext );
int? dataViewFilterId = hfDataFilterId.Value.AsIntegerOrNull();
if ( dataViewFilterId.HasValue )
{
var oldDataViewFilter = dataViewFilterService.Get( dataViewFilterId.Value );
DeleteDataViewFilter( oldDataViewFilter, dataViewFilterService );
}
dataViewFilterService.Add( dataViewFilter );
rockContext.SaveChanges();
SetAttributeValue( "Status", cblStatus.SelectedValuesAsInt.AsDelimited(",") );
SetAttributeValue( "Channel", ddlChannel.SelectedValue );
SetAttributeValue( "EnableDebug", cbDebug.Checked.ToString() );
SetAttributeValue( "MergeContent", cbMergeContent.Checked.ToString() );
SetAttributeValue( "Template", ceTemplate.Text );
SetAttributeValue( "Count", ( nbCount.Text.AsIntegerOrNull() ?? 5 ).ToString() );
SetAttributeValue( "CacheDuration", ( nbCacheDuration.Text.AsIntegerOrNull() ?? 5 ).ToString() );
SetAttributeValue( "FilterId", dataViewFilter.Id.ToString() );
SetAttributeValue( "QueryParameterFiltering", cbQueryParamFiltering.Checked.ToString() );
SetAttributeValue( "Order", kvlOrder.Value );
SetAttributeValue( "SetPageTitle", cbSetPageTitle.Checked.ToString() );
SetAttributeValue( "RssAutodiscover", cbSetRssAutodiscover.Checked.ToString() );
SetAttributeValue( "MetaDescriptionAttribute", ddlMetaDescriptionAttribute.SelectedValue );
SetAttributeValue( "MetaImageAttribute", ddlMetaImageAttribute.SelectedValue );
var ppFieldType = new PageReferenceFieldType();
SetAttributeValue( "DetailPage", ppFieldType.GetEditValue( ppDetailPage, null ) );
SaveAttributeValues();
FlushCacheItem( CONTENT_CACHE_KEY );
FlushCacheItem( TEMPLATE_CACHE_KEY );
mdEdit.Hide();
pnlEditModal.Visible = false;
upnlContent.Update();
ShowView();
}