Exemplo n.º 1
0
        private MemoryStream SaveToExcel(string outputDir, bool getMemoryStream)
        {
            // grab the invoice title
            string title = GetInvoiceTitle();

            // finally, write the data and save the spreadsheet
            SetStatusBar("Exporting Spreadsheet", StatusBarState.InProgress);
            MemoryStream ms = null;

            try
            {
                ExcelWriter excelWriter = new ExcelWriter(outputDir, title, Configuration.SenderEmailAddress, Configuration.RecipientEmailAddress);
                excelWriter.AddItems(this._view.ItemsListEntries.ToList());

                if (getMemoryStream)
                {
                    ms = excelWriter.CloseAndGetMemoryStream();
                }
                else
                {
                    excelWriter.CloseAndSave();
                }
            }
            catch (Exception)
            {
                // it failed
                // tell the user via a dialog and reset the status bar
                // TODO: log error
                this._view.ShowErrorDialogOk("Error exporting spreadsheet");
                SetStatusBar("Ready", StatusBarState.Ready);
                return(null);
            }

            // it succeeded
            // tell the user via a dialog and reset the status bar
            this._view.ShowSuccessDialog("Exported spreadsheet");
            SetStatusBar("Ready", StatusBarState.Ready);

            return(ms);
        }