public void Test() { SiteContext.Current.Provider = new SingleThreadProvider(); var reader = new InvoiceReader(new TransferManager()); reader.Read(new DateRange(DateTime.Today.AddMonths(-2), DateTime.Today)); }
public void readFile() { // Setup var reader = new InvoiceReader("InvoiceDemo1.txt"); // Execute var invoice = reader.GetInvoice(); // Verify Assert.AreEqual("Beverages.com", invoice.WebAddress); }
/// <summary> /// Searches the free trasfer. /// </summary> /// <param name="purse">The purse.</param> /// <param name="creationDate">The creation date.</param> /// <returns></returns> public Transfer SearchFreeTransfer(string purse, DateRange creationDate) { var transfers = GetFreeByPurseByCreationDate(purse, creationDate); if (transfers.Count > 0) { return(transfers[0]); } var reader = new InvoiceReader(this); reader.Read(creationDate); transfers = GetFreeByPurseByCreationDate(purse, creationDate); return(transfers.Count > 0 ? transfers[0] : null); }
public void can_read_810_invoice_file_into_invoice() { string fileName = @"c:\810file.txt"; var reader = new InvoiceReader(); Invoice invoice = reader.ReadInvoiceFile(fileName); Assert.IsNotNull(invoice); Assert.IsNotNull(invoice.Customer); Assert.IsNotNull(invoice.Items); Assert.IsNotNull(invoice.PurchaseOrderNumber); Assert.IsNotNull(invoice.Total); Assert.IsNotNull(invoice.InvoiceDate); //TODO:Add more asserts based on data in sample file that is not yet created //for example: Assert.AreEqual("123", invoice.Customer.Id); Assert.AreEqual("PO3445", invoice.PurchaseOrderNumber); }
private void WorkerOnDoWork(object sender, DoWorkEventArgs args) { IProgressWindow window = args.Argument as IProgressWindow; FileStream stream = new FileStream(InputFileName, FileMode.Open); long overallLength = stream.Length; InvoiceReader reader = new InvoiceReader(stream); reader.FinishedReadingLine += lineLength => { window.UpdateProgress(((double)lineLength / (double)overallLength)); }; List<Receipt> receipts = reader.GetReceipts(); reader.FillMissingDates(receipts); FileStream magazineOutputStream = new FileStream(InputFileDir + "/" + reader.InvoiceMonth + "-" + reader.InvoiceNumber + " - Magazine" + ".csv", FileMode.Create); TextWriter magazineTextWriter = new StreamWriter(magazineOutputStream); FileStream newspaperOutputStream = new FileStream(InputFileDir + "/" + reader.InvoiceMonth + "-" + reader.InvoiceNumber + " - Newspaper" + ".csv", FileMode.Create); TextWriter newspaperTextWriter = new StreamWriter(newspaperOutputStream); Receipt previousNewspaper = receipts[0]; Receipt previousMagazine = receipts[0]; foreach (Receipt receipt in receipts) { if (receipt.Issue < 10000) { if (!receipt.Distro.Equals(previousMagazine.Distro)) { magazineTextWriter.WriteLine(",,,"); } magazineTextWriter.WriteLine(receipt); previousMagazine = receipt; } else { if (!receipt.Distro.Equals(previousNewspaper.Distro)) { newspaperTextWriter.WriteLine(",,,"); } newspaperTextWriter.WriteLine(receipt); previousNewspaper = receipt; } } magazineTextWriter.Close(); magazineOutputStream.Close(); newspaperTextWriter.Close(); newspaperOutputStream.Close(); window.WorkDone(); }