private void ExportButton_Click(object sender, EventArgs e) { if (invoiceList.Count > 0) { ToggleButtons(false); LoadImage.Visible = true; PurchaseCounterExportObject exportObject = CreateExportObject(); exportWorker.RunWorkerAsync(exportObject); } else { ClientHelper.ShowErrorMessage("No items to export."); } }
private PurchaseCounterExportObject CreateExportObject() { PurchaseCounterExportObject obj = new PurchaseCounterExportObject() { Code = CounterNumberTextbox.Text, Supplier = CustomerDropdown.Text, Remarks = RemarksTextbox.Text, Items = invoiceList.ToList(), WitholdingTax = WitholdingTaxTextbox.Text.ToDecimal(), Discount = DiscountTextbox.Value, Date = PaymentDatePicker.Value.ToShortDateString() }; return(obj); }
void exportWorker_DoWork(object sender, DoWorkEventArgs e) { try { PurchaseCounterExportObject exportObject = (PurchaseCounterExportObject)e.Argument; IExportStrategy strategy = new PurchaseCounterExportStrategy(exportObject); var exporter = new ReportExporter(strategy); exporter.ExportReport(); } catch (Exception ex) { ClientHelper.LogException(ex); ClientHelper.ShowErrorMessage("An error occurred while exporting. Please try again."); } }