public static void ClassInit(TestContext context) { BillingSequenceNumbersMock invoiceDataManagerMock = new BillingSequenceNumbersMock(); BillingDataManager.Instance.SetBillingSequenceNumberCollaborator(invoiceDataManagerMock); BillingDataManager.Instance.InvoiceSequenceNumber=5000; invoicesManager = new InvoicesManager(); clubMembers = new Dictionary<string, ClubMember>() { {"00001", new ClubMember("00001", "Francisco", "Gómez-Caldito", "Viseas")}, {"00002", new ClubMember("00002", "Pedro", "Pérez", "Gómez")} }; creditor = new Creditor("G35008770", "Real Club Náutico de Gran Canaria"); creditorAgent = new CreditorAgent(new BankCode("2100", "CaixaBank","CAIXESBBXXX")); directDebitInitiationContract = new DirectDebitInitiationContract( new BankAccount(new InternationalAccountBankNumberIBAN("ES5621001111301111111111")), creditor.NIF, "777", creditorAgent); var directDebitmandateslist = new[] { new {clubMemberID = "00001", internalReference = 1234, ccc = "21002222002222222222" }, new {clubMemberID = "00002", internalReference = 1235, ccc = "21003333802222222222" } }; foreach (var ddM in directDebitmandateslist) { DirectDebitMandate directDebitMandate = new DirectDebitMandate( ddM.internalReference, new DateTime(2013,11,11), new BankAccount(new ClientAccountCodeCCC(ddM.ccc)), clubMembers[ddM.clubMemberID].FullName); clubMembers[ddM.clubMemberID].AddDirectDebitMandate(directDebitMandate); } var billsList = new[] { new {clubMemberID = "00001", Amount = 79, transactionDescription = "Cuota Social Octubre 2013" }, new {clubMemberID = "00002", Amount = 79, transactionDescription="Cuota Social Octubre 2013" }, new {clubMemberID = "00002", Amount = 79, transactionDescription="Cuota Social Noviembre 2013"} }; foreach (var bill in billsList) { List<Transaction> transaction = new List<Transaction>() { new Transaction(bill.transactionDescription,1,bill.Amount,new Tax("NoTAX",0),0) }; ClubMember clubMember = clubMembers[bill.clubMemberID]; InvoiceCustomerData invoiceCustomerData = new InvoiceCustomerData(clubMember); Invoice invoice = new Invoice(invoiceCustomerData, transaction, new DateTime(2013, 11, 11)); invoicesManager.AddInvoiceToClubMember(invoice, clubMember); } spanishBankCodes = new BankCodes(@"XMLFiles\SpanishBankCodes.xml", BankCodes.BankCodesFileFormat.XML); }
public void AnInvoiceIsCorrectlyAddedToClubMember() { clubMemberDataManager.MemberIDSequenceNumber = 5; ClubMember clubMember = new ClubMember("Francisco", "Gomez-Caldito", "Viseas"); Assert.AreEqual(0, clubMember.InvoicesList.Count); InvoiceCustomerData invoiceCustomerData = new InvoiceCustomerData(clubMember); Invoice invoice = new Invoice( new InvoiceCustomerData(clubMember), new List<Transaction>() { new Transaction("Kajak Rent", 1, 50, new Tax("No Tax", 0), 0) }, DateTime.Now); clubMember.AddInvoice(invoice); Assert.IsNotNull(clubMember.InvoicesList[invoice.InvoiceID]); }
public void AnInvoiceIsCorrectlyCancelled() { clubMemberDataManager.MemberIDSequenceNumber = 5; ClubMember clubMember = new ClubMember("Francisco", "Gomez-Caldito", "Viseas"); InvoiceCustomerData invoiceCustomerData = new InvoiceCustomerData(clubMember); Invoice invoice = new Invoice( new InvoiceCustomerData(clubMember), new List<Transaction>() { new Transaction("Kajak Rent", 1, 50, new Tax("No Tax", 0), 0) }, DateTime.Now); InvoicesManager invoicesManager = new InvoicesManager(); invoicesManager.AddInvoiceToClubMember(invoice, clubMember); invoicesManager.CancelInvoice(invoice, clubMember); Assert.AreEqual(Invoice.InvoicePaymentState.Cancelled, invoice.InvoiceState); }
public void WhenCancellingAnInvoiceAnAmendingInvoiceIsCreatedAndAssignedToTheDebtor() { clubMemberDataManager.MemberIDSequenceNumber = 5; billDataManager.InvoiceSequenceNumber = 5; ClubMember clubMember = new ClubMember("Francisco", "Gomez-Caldito", "Viseas"); InvoiceCustomerData invoiceCustomerData = new InvoiceCustomerData(clubMember); Invoice invoice = new Invoice( new InvoiceCustomerData(clubMember), new List<Transaction>() { new Transaction("Kajak Rent", 1, 50, new Tax("No Tax", 0), 0) }, DateTime.Now); InvoicesManager invoicesManager = new InvoicesManager(); invoicesManager.AddInvoiceToClubMember(invoice, clubMember); Assert.AreEqual(0, clubMember.AmendingInvoicesList.Count); invoicesManager.CancelInvoice(invoice, clubMember); Assert.IsNotNull(clubMember.AmendingInvoicesList["AMN2013000005"]); }
public static void ClassInit(TestContext context) { BillingSequenceNumbersMock invoiceDataManagerMock = new BillingSequenceNumbersMock(); BillingDataManager.Instance.SetBillingSequenceNumberCollaborator(invoiceDataManagerMock); transactionList = new List<Transaction>() { {new Transaction("Monthly Fee",1,80,new Tax("NOIGIC",0),0)}, {new Transaction("Renting a Kajak",1,50,new Tax("NOIGIC",0),0)}, {new Transaction("Blue cup",2,10,new Tax("NOIGIC",0),0)}, {new Transaction("BIG Mouring",1,500,new Tax("NOIGIC",0),0)} }; clubMember = new ClubMember("0002", "Francisco", "Gomez", ""); invoiceCustomerData = new InvoiceCustomerData(clubMember); }
public ProFormaInvoice(InvoiceCustomerData invoiceCustomerData, List<Transaction> transactionsList, DateTime issueDate) : base(transactionsList, issueDate) { InitializeProformaInvoice(invoiceCustomerData); }
private void InitializeProformaInvoice(InvoiceCustomerData invoiceCustomerData) { CheckProFormaInvoiceDetail(); this.customerData = invoiceCustomerData; }
public void GivenTheseBills(Table billsTable) { invoiceContextData.billDataManager.InvoiceSequenceNumber = 5000; Dictionary<string, ClubMember> membersCollection = (Dictionary<string, ClubMember>)ScenarioContext.Current["Members"]; foreach (var row in billsTable.Rows) { string description = row["TransactionConcept"]; double amount = double.Parse(row["Amount"]); List<Transaction> transaction = new List<Transaction>() { new Transaction(description,1,amount,new Tax("NoTAX",0),0) }; ClubMember clubMember = membersCollection[row["MemberID"]]; InvoiceCustomerData invoiceCustomerData = new InvoiceCustomerData(clubMember); Invoice invoice = new Invoice(invoiceCustomerData, transaction, new DateTime(2013, 11, 11)); invoicesManager.AddInvoiceToClubMember(invoice, clubMember); } }
public Invoice(string invoiceID, InvoiceCustomerData invoiceCustomerData, List<Transaction> transactionsList, List<Bill> billsList, DateTime issueDate) : base(invoiceID,transactionsList, issueDate) { InitializeInvoice(invoiceCustomerData, billsList); }
public Invoice(string invoiceID, InvoiceCustomerData invoiceCustomerData, List<Transaction> transactionsList, DateTime issueDate) : this(invoiceID, invoiceCustomerData, transactionsList, null, issueDate) { }
private void InitializeInvoice(InvoiceCustomerData invoiceCustomerData, List<Bill> billsList) { this.customerData = invoiceCustomerData; CheckInvoiceDetail(); invoiceBills = new Dictionary<string, Bill>(); if (billsList == null) billsList = new List<Bill> { CreateASingleBillForInvoiceTotal() }; AddBillsToInvoice(billsList); invoiceState = InvoicePaymentState.ToBePaid; paymentAgreements = new Dictionary<DateTime,PaymentAgreement>(); }
public void Setup() { taxesDictionary = new Dictionary<string, Tax>{ {"No IGIC", new Tax("No IGIC",0)}, {"IGIC Reducido 1", new Tax("IGIC Reducido 1",2.75)}, {"IGIC Reducido 2", new Tax("IGIC Reducido 2",3)}, {"IGIC General", new Tax("IGIC General",7)}, {"IGIC Incrementado 1", new Tax("IGIC Incrementado 1",9.50)}, {"IGIC Incrementado 2", new Tax("IGIC Incrementado 2",13.50)}, {"IGIC Especial", new Tax("IGIC Especial",20)}}; transactionsList = new List<Transaction>() { {new Transaction("Monthly Fee",1,80,taxesDictionary["No IGIC"],0)}, {new Transaction("Renting a Kajak",1,50,taxesDictionary["No IGIC"],0)}, {new Transaction("Blue cup",2,10,taxesDictionary["No IGIC"],0)}, {new Transaction("BIG Mouring",1,500,taxesDictionary["No IGIC"],0)} }; clubMember = new ClubMember("0002", "Francisco", "Gomez", ""); invoiceCustomerData= new InvoiceCustomerData(clubMember); invoicesManager = new InvoicesManager(); }