public virtual async Task <IActionResult> ExportAsync(ExportKind kind, string kindName) { var modelConfiguration = Request.HttpContext.RequestServices.GetService <IEdmModelAccessor>().EdmModel.ModelConfiguration(); var queryable = await GetEntitySetQuery(); return(await ExportAsync(kind, kindName, queryable, modelConfiguration)); }
public virtual async Task <IActionResult> ExportAsync(ExportKind kind, string kindName, IQueryable <T> queryable, ModelConfiguration modelConfiguration) { switch (kind) { case ExportKind.Excel: return(ExcelFile(await GetExcelReportAsync(queryable, modelConfiguration))); } return(null); }
public virtual bool CanHandleExportRequest(ExportKind kind, string kindName) { switch (kind) { case ExportKind.Excel: return(true); } return(false); }
public static bool IsKnownExportRequest(this HttpRequest request, out ExportKind kind) { if (request.IsExportRequest(out kind, out var name)) { if (kind == ExportKind.Unknown) { return(false); } } return(true); }
public static bool IsExportRequest(this HttpRequest request, out ExportKind kind, out string kindName) { kind = ExportKind.Unknown; if (request.Query.ContainsKey("export")) { var exportFormat = request.Query["export"].ToString().ToLower(); if (!string.IsNullOrWhiteSpace(exportFormat)) { kindName = exportFormat.Trim(); switch (kindName) { case "excel": kind = ExportKind.Excel; break; } return(true); } } kindName = null; return(false); }
public static string Resolve(ExportKind exportKind) => Dictionary[exportKind];