private void ReplaceIfCsv(ActionExecutedContext filterContext, IExportableViewModel export)
        {
            if (!RequestIsCsv(filterContext))
            {
                return;
            }

            filterContext.Result = new ExportDocumentResult(export.GetExport(), ExportType.Csv, false);
        }
        private void ReplaceIfPrint(ActionExecutedContext filterContext, IExportableViewModel export)
        {
            if (!RequestIsPrint(filterContext)) return;

            if(export is IHaveACustomHtmlExport)
            {
                var customExport = (export as IHaveACustomHtmlExport);
                var html = customExport.GetHtmlExport().ToString();
                var settings = customExport.GetOptions();
                filterContext.Result = new ExportDocumentResult(html, ExportType.Html, false, settings);
            }
            else
            {
                filterContext.Result = new ExportDocumentResult(export.GetExport(), ExportType.Html, false);
            }
        }
        private void ReplaceIfPrint(ActionExecutedContext filterContext, IExportableViewModel export)
        {
            if (!RequestIsPrint(filterContext))
            {
                return;
            }

            if (export is IHaveACustomHtmlExport)
            {
                var customExport = (export as IHaveACustomHtmlExport);
                var html         = customExport.GetHtmlExport().ToString();
                var settings     = customExport.GetOptions();
                filterContext.Result = new ExportDocumentResult(html, ExportType.Html, false, settings);
            }
            else
            {
                filterContext.Result = new ExportDocumentResult(export.GetExport(), ExportType.Html, false);
            }
        }
        private void ReplaceIfCsv(ActionExecutedContext filterContext, IExportableViewModel export)
        {
            if (!RequestIsCsv(filterContext)) return;

            filterContext.Result = new ExportDocumentResult(export.GetExport(), ExportType.Csv, false);
        }
 private void Export(ActionExecutedContext filterContext, IExportableViewModel document)
 {
     ReplaceIfCsv(filterContext, document);
     ReplaceIfPrint(filterContext, document);
     ReplaceIfPdf(filterContext, document);
 }
 private void Export(ActionExecutedContext filterContext, IExportableViewModel document)
 {
     ReplaceIfCsv(filterContext, document);
     ReplaceIfPrint(filterContext, document);
     ReplaceIfPdf(filterContext, document);
 }