public void GivenIGenerateAProFormaInvoiceForThisTheseTransactionS(Table transactions)
 {
     List<Transaction> transactionsList = new List<Transaction>();
     AddTransactionsToTransactionList(transactionsList, transactions);
     ProFormaInvoice proFormaInvoice = new ProFormaInvoice(new InvoiceCustomerData(membersManagementContextData.clubMember), transactionsList, DateTime.Now);
     ScenarioContext.Current.Add("ProFormaInvoice", proFormaInvoice);
 }
 public void WhenIGenerateAnPro_FormaInvoiceForTheService()
 {
     DateTime issueDate = DateTime.Now;
     List<Transaction> serviceChargeList = new List<Transaction> { new ServiceCharge((ClubService)ScenarioContext.Current["A_Club_Service"]) };
     ProFormaInvoice proFormaInvoice = new ProFormaInvoice(new InvoiceCustomerData(membersManagementContextData.clubMember), serviceChargeList, issueDate);
     invoicesManager.AddProFormaInvoiceToClubMember(proFormaInvoice, membersManagementContextData.clubMember);
     ScenarioContext.Current.Add("ProFormaInvoice", proFormaInvoice);
 }
 public void TransactionsOnProFormaInvoicesCantHaveZeroOrLessUnits()
 {
     Product cap = new Product("Cap", 5, taxesDictionary["IGIC General"]);
     ClubService membership = new ClubService("Club Full Membership", 50, taxesDictionary["IGIC General"]);
     DateTime issueDate = DateTime.Now;
     List<Transaction> transactionsList = new List<Transaction>{
         new ServiceCharge(membership, "June Membership Fee", 0,79,taxesDictionary["IGIC General"],0)};
     try
     {
         ProFormaInvoice proFormaInvoice = new ProFormaInvoice(invoiceCustomerData, transactionsList, issueDate);
     }
     catch (ArgumentOutOfRangeException exception)
     {
         Assert.AreEqual("Pro Forma Invoice transactions must have at least one element to transact", exception.GetMessageWithoutParamName());
         throw exception;
     }
 }
 public void ProFormaInvoicesAcceptTransactionsWithZeroCost()
 {
     Product cap = new Product("Cap", 5, taxesDictionary["IGIC General"]);
     ClubService membership = new ClubService("Club Full Membership", 50, taxesDictionary["IGIC General"]);
     DateTime issueDate = DateTime.Now;
     List<Transaction> transactionsList = new List<Transaction>{
         new Sale(cap, "Nice Blue Cap", 1,0,taxesDictionary["IGIC Reducido 2"],0),
         new ServiceCharge(membership, "June Membership Fee", 1,0,taxesDictionary["IGIC General"],0)};
     ProFormaInvoice proFormaInvoice = new ProFormaInvoice(invoiceCustomerData, transactionsList, issueDate);
     Assert.AreEqual((decimal)0, proFormaInvoice.NetAmount);
 }
 public void AddProFormainvoice(ProFormaInvoice proFormaInvoice)
 {
     proFormaInvoicesList.Add(proFormaInvoice.InvoiceID, proFormaInvoice);
 }
 public void AddProFormaInvoiceToClubMember(ProFormaInvoice proFormaInvoice, ClubMember debtor)
 {
     debtor.AddProFormainvoice(proFormaInvoice);
 }
 public void WhenIGenerateAProFormaInvoiceForThisTheseTransactionS()
 {
     ProFormaInvoice proFormaInvoice = new ProFormaInvoice(new InvoiceCustomerData(membersManagementContextData.clubMember), (List<Transaction>)ScenarioContext.Current["Transactions_List"], DateTime.Now);
     ScenarioContext.Current.Add("ProFormaInvoice", proFormaInvoice);
 }