private void mnuExportResults_Click(object sender, EventArgs e) { SaveFileDialog saveFileDialog = new SaveFileDialog(); IDataExporter dataExporter = null; try { // Ask user where they would like to save the file saveFileDialog.Filter = "CSV|*.csv|json|*.json|XML Document|*.xml"; saveFileDialog.ShowDialog(); if (String.IsNullOrEmpty(saveFileDialog.FileName)) { return; } // Delete existing file if (File.Exists(saveFileDialog.FileName)) { File.Delete(saveFileDialog.FileName); } dataExporter = DataExporterFactory.Create(saveFileDialog.FileName, dgvResults); dataExporter.Run(); // Open when complete ProcessManager.OpenFile(saveFileDialog.FileName); } catch (Exception ex) { DisplayError(ex); } }
public async Task <IActionResult> Get(string exportType) { var exporter = new DataExporterFactory().GetExporter(exportType); if (exporter == null) { ModelState.AddModelError("ExportTye", string.Format(ErrorMessagesResource.InvalidExportTypeError, exportType)); var problemDetails = new ValidationProblemDetails(ModelState); return(BadRequest(problemDetails)); } var products = await _mediator.Send(new ProductSearchQuery()); var export = exporter.Export(products); return(File(export.Stream, export.ContentType, export.FileName)); }