private void ExportButton_Click(object sender, RoutedEventArgs e)
        {
            var dlg = new Microsoft.Win32.SaveFileDialog();

            dlg.FileName = "accounts" + DateTime.Now.ToString("YYYYmmDD"); // Default file name
            dlg.DefaultExt = ".csv"; // Default file extension
            dlg.Filter = "Text documents (.csv)|*.csv"; // Filter files by extension

            Nullable<bool> result = dlg.ShowDialog();

            if (!result.HasValue || !result.Value)
                return;

            string filename = dlg.FileName;

            using (CsvWriter writer = new CsvWriter())
            {
                writer.WriteCsv(csvFile, filename);
            }
        }
        public static void SetMappers(List<Mapper> mappers)
        {
            var csvFile = new CsvFile();

            csvFile.Headers.Add("RegexPattern");
            csvFile.Headers.Add("Category");

            foreach (var mapper in mappers)
            {
                var record = new CsvRecord();

                record.Fields.Add(mapper.RegexPattern);
                record.Fields.Add(mapper.Category);

                csvFile.Records.Add(record);
            }

            using (CsvWriter writer = new CsvWriter())
                writer.WriteCsv(csvFile, "t"+path);

            File.Delete(path);
            File.Move("t" + path, path);
        }
Пример #3
0
        public void CsvWriter_WriteDataTableToString()
        {
            if (File.Exists(FilePath))
                File.Delete(FilePath);

            DataTable table = new DataTable();

            using (CsvReader reader = new CsvReader(Encoding.Default, TEST_DATA_5))
            {
                table = reader.ReadIntoDataTable();
            }

            string content = string.Empty;

            using (CsvWriter writer = new CsvWriter())
            {
                content = writer.WriteCsv(table, Encoding.Default);
            }

            File.Delete(FilePath);
            Assert.IsTrue(string.Compare(content, TEST_DATA_5) == 0);
        }
Пример #4
0
        public void CsvWriter_WriteDataTableToStream()
        {
            string content = string.Empty;

            using (MemoryStream memoryStream = new MemoryStream())
            {
                DataTable table = new DataTable();

                using (CsvReader reader = new CsvReader(Encoding.Default, TEST_DATA_5))
                {
                    table = reader.ReadIntoDataTable();
                }

                using (CsvWriter writer = new CsvWriter())
                {
                    writer.WriteCsv(table, memoryStream);

                    using (StreamReader reader = new StreamReader(memoryStream))
                    {
                        content = reader.ReadToEnd();
                    }
                }

            }

            Assert.IsTrue(string.Compare(content, TEST_DATA_5) == 0);
        }
Пример #5
0
        public void CsvWriter_WriteDataTableToFile()
        {
            if (File.Exists(FilePath))
                File.Delete(FilePath);

            DataTable table = new DataTable();

            using (CsvReader reader = new CsvReader(Encoding.Default, TEST_DATA_5))
            {
                table = reader.ReadIntoDataTable();
            }

            using (CsvWriter writer = new CsvWriter())
            {
                writer.WriteCsv(table, FilePath);
            }

            CsvFile csvFile = CreateCsvFileFromDataTable(table);
            VerifyTestData5(csvFile.Headers, csvFile.Records);
            File.Delete(FilePath);
        }
Пример #6
0
        public void CsvWriter_WriteCsvFileObjectToString()
        {
            CsvFile csvFile = new CsvFile();
            csvFile.Populate(true, TEST_DATA_5);
            string content = string.Empty;

            using (CsvWriter writer = new CsvWriter())
            {
                content = writer.WriteCsv(csvFile, Encoding.Default);
            }

            Assert.IsTrue(string.Compare(content, TEST_DATA_5) == 0);
        }
Пример #7
0
        public void CsvWriter_WriteCsvFileObjectToStream()
        {
            string content = string.Empty;

            using (MemoryStream memoryStream = new MemoryStream())
            {
                CsvFile csvFile = new CsvFile();
                csvFile.Populate(true, TEST_DATA_5);

                using (CsvWriter writer = new CsvWriter())
                {
                    writer.WriteCsv(csvFile, memoryStream);
                    using (StreamReader reader = new StreamReader(memoryStream))
                    {
                        content = reader.ReadToEnd();
                    }
                }
            }

            Assert.IsTrue(string.Compare(content, TEST_DATA_5) == 0);
        }
Пример #8
0
        public void CsvWriter_WriteCsvFileObjectToFile()
        {
            if (File.Exists(FilePath))
                File.Delete(FilePath);

            CsvFile csvFile = new CsvFile();
            csvFile.Populate(true, TEST_DATA_5);

            using (CsvWriter writer = new CsvWriter())
            {
                writer.WriteCsv(csvFile, FilePath);
            }

            csvFile = new CsvFile();
            csvFile.Populate(FilePath, true);

            VerifyTestData5(csvFile.Headers, csvFile.Records);

            File.Delete(FilePath);
        }
Пример #9
0
        public void CsvWriter_VerifyThatCarriageReturnsAreHandledCorrectlyInFieldValues()
        {
            CsvFile csvFile = new CsvFile();
            csvFile.Headers.Add("header ,1");
            csvFile.Headers.Add("header\r\n2");
            csvFile.Headers.Add("header 3");

            CsvRecord record = new CsvRecord();
            record.Fields.Add("da,ta 1");
            record.Fields.Add("\"data\" 2");
            record.Fields.Add("data\n3");
            csvFile.Records.Add(record);

            string content = string.Empty;

            using (CsvWriter writer = new CsvWriter())
            {
                content = writer.WriteCsv(csvFile, Encoding.Default);
            }

            Assert.IsTrue(string.Compare(content, "\"header ,1\",\"header,2\",header 3\r\n\"da,ta 1\",\"\"\"data\"\" 2\",\"data,3\"\r\n") == 0);

            using (CsvWriter writer = new CsvWriter() { ReplaceCarriageReturnsAndLineFeedsFromFieldValues = false})
            {
                content = writer.WriteCsv(csvFile, Encoding.Default);
            }

            Assert.IsTrue(string.Compare(content, "\"header ,1\",header\r\n2,header 3\r\n\"da,ta 1\",\"\"\"data\"\" 2\",data\n3\r\n") == 0);
        }
Пример #10
0
        public void CsvFile_PopulateFromFileWithoutHeader()
        {
            CsvFile csvFile1 = new CsvFile();
            using (CsvReader reader = new CsvReader(Encoding.Default, TEST_DATA_5))
            {
                List<List<string>> records = new List<List<string>>();

                while (reader.ReadNextRecord())
                    records.Add(reader.Fields);

                csvFile1 = CreateCsvFile(records[0], records[1]);
            }

            if (File.Exists(FilePath))
                File.Delete(FilePath);

            using (CsvWriter writer = new CsvWriter())
            {
                writer.WriteCsv(csvFile1, FilePath, Encoding.Default);
            }

            CsvFile file = new CsvFile();
            file.Populate(FilePath, false);
            VerifyTestData5Alternative(file.Records);

            File.Delete(FilePath);
        }
        private void exportCsv(string file)
        {
            CsvFile csvFile = new CsvFile();

            IList<PatientData> allPatients = this.patComp.GetAllPatients();

            //Haader
            CsvRecord header = new CsvRecord();
            header.Fields.Add("ID");
            header.Fields.Add("Nachname");
            header.Fields.Add("Vorname");
            header.Fields.Add("m/w");
            header.Fields.Add("Geburtsdatum");
            header.Fields.Add("Telefon");
            header.Fields.Add("Datum Erstkontakt");
            header.Fields.Add("Diagnosegruppe");
            header.Fields.Add("Diagnose1");
            header.Fields.Add("Diagnose2");
            header.Fields.Add("Diagnose3");
            header.Fields.Add("VorOP vor Erstkontakt");
            header.Fields.Add("bisherige Therapie OP/Konservativ");
            header.Fields.Add("Datum Erst-OP");
            header.Fields.Add("Art Erst-OP");
            header.Fields.Add("Anzahl weitere OP");
            header.Fields.Add("op-pfl. Rezidiv nach (Erst)-OP ja/nein");
            header.Fields.Add("Anzahl OP insgesamt");
            header.Fields.Add("Datum Letzt-OP");
            header.Fields.Add("Anzahl Visits insgesamt");
            header.Fields.Add("Datum letzter Visit");
            header.Fields.Add("Abgeschlossen");
            header.Fields.Add("Besonderes");

            csvFile.Records.Add(header);

            foreach (var pd in allPatients) {

                IList<VisitData> visits = this.patComp.GetVisitsByPatientID(pd.Id);
                IList<OperationData> ops = this.patComp.GetOperationsByPatientID(pd.Id);
                IList<DiagnoseGroupData> gds = this.patComp.FindDiagnoseGroupIdByPatientId(pd.Id);
                VisitData firstVisit = StaticUtilities.GetnThVisit(visits, 1);
                VisitData secondVisit = StaticUtilities.GetnThVisit(visits, 2);
                VisitData thirdVisit = StaticUtilities.GetnThVisit(visits, 3);
                VisitData lastVisit = StaticUtilities.GetnThVisit(visits, -1);
                OperationData firstOp = StaticUtilities.OldestOP(ops);
                OperationData lastOp = StaticUtilities.NewestOP(ops);
                StringBuilder sb = new StringBuilder();
                foreach (DiagnoseGroupData dbgd in gds) {
                    sb.Append(dbgd.ShortName).Append(", ");
                }
                if (sb.Length >= 2) {
                    sb.Remove(sb.Length - 2, 2);
                }
                string diagnoseGroup = sb.ToString();
                StringBuilder toolTipSB = new StringBuilder();

                string firstVisitDateStr = (firstVisit == null) ? String.Empty : firstVisit.VisitDate.ToShortDateString();
                string lastVisitDateStr = (lastVisit == null) ? String.Empty : lastVisit.VisitDate.ToShortDateString();
                string firstOpDateStr = (firstOp == null) ? String.Empty : firstOp.Date.ToShortDateString();
                string lastOpDateStr = (lastOp == null) ? String.Empty : lastOp.Date.ToShortDateString();
                string firstVisitDiagnoses = (firstVisit == null) ? string.Empty : firstVisit.ExtraDiagnosis;
                string secondVisitDiagnoses = (secondVisit == null) ? string.Empty : secondVisit.ExtraDiagnosis;
                string thirdVisitDiagnoses = (thirdVisit == null) ? string.Empty : thirdVisit.ExtraDiagnosis;
                string performedFirstOP = (firstOp == null) ? string.Empty : firstOp.Performed;
                string performedLastOP = (lastOp == null) ? string.Empty : lastOp.Performed;

                CsvRecord dataLine = new CsvRecord();

                dataLine.Fields.Add(pd.Id.ToString());
                dataLine.Fields.Add(pd.FirstName);
                dataLine.Fields.Add(pd.SurName);
                dataLine.Fields.Add(pd.Sex.ToString());
                dataLine.Fields.Add(pd.DateOfBirth.ToShortDateString());
                dataLine.Fields.Add(pd.Phone);
                dataLine.Fields.Add(firstVisitDateStr);
                dataLine.Fields.Add(diagnoseGroup);
                dataLine.Fields.Add(firstVisitDiagnoses);
                dataLine.Fields.Add(secondVisitDiagnoses);
                dataLine.Fields.Add(thirdVisitDiagnoses);
                dataLine.Fields.Add("TODO");
                dataLine.Fields.Add("TODO");
                dataLine.Fields.Add(firstOpDateStr);
                dataLine.Fields.Add(performedFirstOP);
                dataLine.Fields.Add((ops.Count > 0) ? (ops.Count - 1).ToString() : ops.Count.ToString());
                dataLine.Fields.Add("TODO");
                dataLine.Fields.Add(ops.Count.ToString());
                dataLine.Fields.Add(lastOpDateStr);
                dataLine.Fields.Add(visits.Count.ToString());
                dataLine.Fields.Add(lastVisitDateStr);
                dataLine.Fields.Add(pd.Finished.ToString());
                dataLine.Fields.Add("TODO");

                csvFile.Records.Add(dataLine);
            }

            using (CsvWriter writer = new CsvWriter()) {
                writer.QuotesAlways = true;
                writer.Seperator = ";";
                try
                {
                    writer.WriteCsv(csvFile, file);
                }
                catch (Exception e)
                {

                    MessageBox.Show("Could not write CSV File because:" + Environment.NewLine + e.Message);
                }

            }
        }