private void DoCreateTestFileButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var dialog = new SaveFileDialog();
                dialog.FileName         = FilePath.Text;
                dialog.InitialDirectory = Path.GetDirectoryName(FilePath.Text);
                if (dialog.ShowDialog(this) == true)
                {
                    List <Person>  people   = PersonCreator.Work(35);
                    List <Chicken> chickens = ChickenCreator.Work(30);

                    // Passing in LogServiceMessage in optional.  I'm using it here to help debug any issues while writing a file.
                    using (var writerService = new ClassToExcelWriterService(LogServiceMessage))
                    {
                        writerService.AddWorksheet(people, "People", true);
                        writerService.AddWorksheet(chickens, "Chickens", true);
                        writerService.SaveToFile(dialog.FileName);
                    }

                    LogMessage("File saved");
                }
            }
            catch (Exception ex)
            {
                LogError(ex);
            }
        }
Exemple #2
0
        public List <U> SaveAndRead(List <T> expectedList, bool hasHeaderRow,
                                    Action <ClassToExcelMessage> writeCallback = null,
                                    Action <ClassToExcelMessage> readCallback  = null)
        {
            const string workSheetName = "Test";

            // WRITE FIRST
            IClassToExcelWriterService writer = new ClassToExcelWriterService(writeCallback);

            writer.AddWorksheet(expectedList, workSheetName, hasHeaderRow);
            MemoryStream ms = writer.SaveToMemoryStream();


            // READ AFTERWARDS
            List <U> actualList;

            using (ms)
            {
                var reader = new ClassToExcelReaderService <U>(readCallback);
                actualList = reader.ReadWorksheet(ms, workSheetName, hasHeaderRow);
            }

            return(actualList);
        }