Beispiel #1
0
        public static void writeCardItems(List <CardDetails> cardItems)
        {
            DataTable cardItemDataTable = new DataTable();

            cardItemDataTable.Clear();

            cardItemDataTable.Columns.Add("cardRecordID"); //0
            cardItemDataTable.Columns.Add("firstName");    //1
            cardItemDataTable.Columns.Add("lastName");     //2
            cardItemDataTable.Columns.Add("cardName");     //3
            cardItemDataTable.Columns.Add("cardEmail");    //4



            string  multiFileName = "";
            int     rowsPerFile   = 5000;
            double  totalFiles    = Math.Ceiling((double)cardItems.Count / rowsPerFile);
            Boolean flagTruncate  = true;

            for (int j = 0; j < totalFiles; j++)
            {
                if (j > 0)
                {
                    multiFileName = (j + 1).ToString();
                }

                StreamWriter writer;
                try
                {
                    writer = new StreamWriter(Properties.Settings.Default.filePath + "\\CardItems" + multiFileName + "." + "csv");
                }
                catch (IOException e)
                {
                    // progressBar.Value = 1;

                    MessageBox.Show("Unable to export out CSV data to file " + Properties.Settings.Default.filePath + ". Please make sure you do not have the file open and you have access to the file.", "Cannot write to file", MessageBoxButtons.OK);
                    return;
                }

                writer.WriteLine("cardRecordID,firstName,lastName,cardName,cardEmail");

                for (int i = j * rowsPerFile; i < cardItems.Count && i < (j * rowsPerFile) + rowsPerFile; i++)
                {
                    cardItemDataTable.Rows.Add(cardItems[i].cardRecordID,
                                               cardItems[i].firstName,
                                               cardItems[i].lastName,
                                               cardItems[i].cardName,
                                               cardItems[i].cardEmail
                                               );

                    writer.WriteLine("\"" + cardItems[i].cardRecordID + "\",\""
                                     + cardItems[i].firstName + "\",\""
                                     + cardItems[i].lastName + "\",\""
                                     + cardItems[i].cardName + "\",\""
                                     + cardItems[i].cardEmail + "\",\""
                                     + "\"");
                }

                DatabaseParse.insertLineItems(cardItemDataTable, "cardItems", flagTruncate);
                cardItemDataTable.Clear();
                flagTruncate = false; //delete only once
                writer.Close();
            }
        }