/// <summary>
        /// Returns an InvoiceTransmission with values from the 
        /// FlatCargoFile parameter
        /// 
        /// </summary>
        /// <param name="primeFile"></param>
        /// <returns></returns>
        public InvoiceTransmission GetInvoiceTransmission(FlatPrimeFile primeFile, FlatRejectionFile rejectionFile, string iATAPeriod)
        {
            _iATAPeriod = iATAPeriod;
            List<Invoice> allInvoices = new List<Invoice>();

            //create transmission header
            _invoiceTransmission = new InvoiceTransmission();
            _invoiceTransmission.TransmissionHeader = GetTransmissionHeader();

            //add primeInvoices
            allInvoices.AddRange(GetInvoices(primeFile));
            //add rejection invoices
            allInvoices.AddRange(GetInvoices(rejectionFile));

            _invoiceTransmission.Invoice = allInvoices.ToArray();

            //Transmission Summary
            _invoiceTransmission.TransmissionSummary = new TransmissionSummary();
            _invoiceTransmission.TransmissionSummary.InvoiceCount = allInvoices.Count.ToString();
            _invoiceTransmission.TransmissionSummary.TotalAmount = GetAmountsPerCurrency().ToArray();
            return _invoiceTransmission;
        }
 /// <summary>
 /// Returns all primeAWB Billings
 /// </summary>
 /// <param name="primeFile"></param>
 /// <returns></returns>
 private List<Invoice> GetInvoices(FlatPrimeFile primeFile)
 {
     List<Invoice> primeBillings = new List<Invoice>();
     int batchSequenceNumber = 1;
     foreach (List<FlatPrimeRecord> flatCargoFileInvoice in primeFile.GetInvoices())
     {
         primeBillings.Add(GetInvoice(flatCargoFileInvoice, batchSequenceNumber));
         batchSequenceNumber += 1;
     }
     return primeBillings;
 }
        /// <summary>
        /// Loads the file into the FlatCargoFile private field
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnTryLoad_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(txtFileName.Text))
            {
                txtResults.Text = string.Empty;
                CsvParser<FlatPrimeRecord> csvParser = new CsvParser<FlatPrimeRecord>();
                csvParser.ValidationErrorOccurred += new CsvParser<FlatPrimeRecord>.ValidationErrorOccuredHandler(csvParser_ValidationErrorOccurred);

                try
                {
                    txtResults.Text += "Start reading file...\r\n";
                    _flatCargoFile = new FlatPrimeFile(csvParser.ReadFromFile(txtFileName.Text, ";", chkHasHeaders.Checked));
                    txtResults.Text += "\r\nEnd reading file.\r\n";
                    txtResults.Text += string.Format("Total {0} of {1} lines imported.", csvParser.ImportedLineCount, csvParser.TotalLineCount);

                }
                catch (IOException ex)
                {
                    txtResults.AppendText(ex.Message + "\r\n");
                }
                catch (Exception ex)
                {
                    txtResults.AppendText(ex.Message + "\r\n");
                }

            }
        }