Ejemplo n.º 1
0
        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));
        }