public void DeleteSalePayment() { CrudProxy proxy = new InvoiceProxy(); InvoiceDto sale1 = this.GetUnpaidItemSale(); InvoiceDto sale2 = this.GetUnpaidServiceSale(); proxy.Insert(sale1); proxy.Insert(sale2); InvoicePaymentDto paymentInfo1 = new InvoicePaymentDto(TransactionType.SalePayment); paymentInfo1.Date = DateTime.Today.Date; paymentInfo1.PaymentAccountUid = this.Westpac.Uid; paymentInfo1.Reference = Guid.NewGuid().ToString(); paymentInfo1.Summary = "Payment for 2 Outstanding Invoices"; paymentInfo1.Fee = 3.55m; InvoicePaymentItemDto item = null; item = new InvoicePaymentItemDto(); item.InvoiceUid = sale2.Uid; item.Amount = 20.05M; paymentInfo1.Items.Add(item); item = new InvoicePaymentItemDto(); item.InvoiceUid = sale1.Uid; item.Amount = 23.75M; paymentInfo1.Items.Add(item); proxy = new InvoicePaymentProxy(); proxy.Insert(paymentInfo1); proxy.DeleteByUid(paymentInfo1.Uid); try { proxy.GetByUid(paymentInfo1.Uid); } catch (RestException ex) { Assert.AreEqual("RecordNotFoundException", ex.Type); } }
public void UpdateInvoicePayment() { CrudProxy proxy = new InvoiceProxy(); InvoiceDto sale1 = this.GetUnpaidItemSale(); InvoiceDto sale2 = this.GetUnpaidServiceSale(); proxy.Insert(sale1); proxy.Insert(sale2); InvoicePaymentDto paymentInfo1 = new InvoicePaymentDto(TransactionType.SalePayment); paymentInfo1.Date = DateTime.Today.Date; paymentInfo1.PaymentAccountUid = this.Westpac.Uid; paymentInfo1.Reference = Guid.NewGuid().ToString(); paymentInfo1.Summary = "Payment for 2 Outstanding Invoices"; paymentInfo1.Fee = 59.99m; InvoicePaymentItemDto item = null; item = new InvoicePaymentItemDto(); item.InvoiceUid = sale2.Uid; item.Amount = 20.05M; paymentInfo1.Items.Add(item); item = new InvoicePaymentItemDto(); item.InvoiceUid = sale1.Uid; item.Amount = 23.75M; paymentInfo1.Items.Add(item); proxy = new InvoicePaymentProxy(); proxy.Insert(paymentInfo1); // // Update paymentInfo1.Summary = "Payment - Updated."; paymentInfo1.Items.Clear(); item = new InvoicePaymentItemDto(); item.InvoiceUid = sale1.Uid; item.Amount = 30M; paymentInfo1.Items.Add(item); proxy.Update(paymentInfo1); // // TODO: Check result. // }
public void DeleteInvoicePayment() { CrudProxy proxy = new InvoiceProxy(); InvoiceDto sale = this.GetUnpaidServiceSale(); proxy.Insert(sale); InvoicePaymentDto paymentInfo1 = new InvoicePaymentDto(TransactionType.SalePayment); paymentInfo1.Date = DateTime.Today.Date; paymentInfo1.PaymentAccountUid = this.Westpac.Uid; paymentInfo1.Reference = Guid.NewGuid().ToString(); paymentInfo1.Summary = "Payment for Outstanding Sale Invoice"; paymentInfo1.Fee = 9.99m; InvoicePaymentItemDto item = null; item = new InvoicePaymentItemDto(); item.InvoiceUid = sale.Uid; item.Amount = 2132.51M; paymentInfo1.Items.Add(item); proxy = new InvoicePaymentProxy(); proxy.Insert(paymentInfo1); proxy.DeleteByUid(paymentInfo1.Uid); }
public void InsertMultiCcyInvoicePayment() { CrudProxy proxy = new InvoiceProxy(); InvoiceDto sale1 = this.GetUnpaidItemSale(); sale1.Date = DateTime.Parse("12-Feb-2010"); sale1.Ccy = "EUR"; sale1.AutoPopulateFXRate = true; sale1.FCToBCFXRate = 1.6194842787M; proxy.Insert(sale1); InvoicePaymentDto paymentInfo1 = new InvoicePaymentDto(TransactionType.SalePayment); paymentInfo1.Date = DateTime.Today.Date; paymentInfo1.PaymentAccountUid = this.Westpac.Uid; paymentInfo1.Reference = Guid.NewGuid().ToString(); paymentInfo1.Summary = "Payment for 2 Outstanding Invoices"; paymentInfo1.Ccy = "EUR"; paymentInfo1.AutoPopulateFXRate = true; paymentInfo1.FCToBCFXRate = 1.6194842787M; paymentInfo1.Fee = 1.75m; InvoicePaymentItemDto item = null; item = new InvoicePaymentItemDto(); item.InvoiceUid = sale1.Uid; item.Amount = 23.75M; paymentInfo1.Items.Add(item); proxy = new InvoicePaymentProxy(); proxy.Insert(paymentInfo1); Assert.IsTrue(paymentInfo1.Uid > 0, "Uid must be > 0 after save."); InvoicePaymentDto paymentInfo2 = (InvoicePaymentDto)proxy.GetByUid(paymentInfo1.Uid); Assert.AreEqual(paymentInfo1.Ccy, paymentInfo2.Ccy, "Incorrect Currency."); Assert.AreEqual(paymentInfo1.AutoPopulateFXRate, paymentInfo2.AutoPopulateFXRate, "Incorrect Auto Populate FX Rate flag."); Assert.AreEqual(1.6194842787M, paymentInfo2.FCToBCFXRate, "Incorrect FX rate."); AssertEqual(paymentInfo1, paymentInfo2); }
public void InsertInvoicePaymentIncorrectTranType() { CrudProxy proxy = new InvoiceProxy(); InvoiceDto sale1 = this.GetUnpaidItemSale(); InvoiceDto sale2 = this.GetUnpaidServiceSale(); proxy.Insert(sale1); proxy.Insert(sale2); InvoicePaymentDto paymentInfo1 = new InvoicePaymentDto(TransactionType.SalePayment); paymentInfo1.Date = DateTime.Today.Date; paymentInfo1.PaymentAccountUid = this.Westpac.Uid; paymentInfo1.Reference = Guid.NewGuid().ToString(); paymentInfo1.Summary = "Payment for 2 Outstanding Invoices"; paymentInfo1.TransactionType = "PS"; paymentInfo1.Fee = 3.45m; InvoicePaymentItemDto item = null; item = new InvoicePaymentItemDto(); item.InvoiceUid = sale2.Uid; item.Amount = 20.05M; paymentInfo1.Items.Add(item); item = new InvoicePaymentItemDto(); item.InvoiceUid = sale1.Uid; item.Amount = 23.75M; paymentInfo1.Items.Add(item); proxy = new InvoicePaymentProxy(); try { proxy.Insert(paymentInfo1); throw new Exception("No exception was thrown."); } catch (RestException rex) { Assert.AreEqual("Incorrect transaction type. Use 'SP' for Sale Payment and 'PP' for purchase payment.", rex.Message, "Incorrect message."); } }
public void InsertInvoicePaymentIncorrectPaymentAccountType() { CrudProxy proxy = new InvoiceProxy(); InvoiceDto sale1 = this.GetUnpaidItemSale(); proxy.Insert(sale1); InvoicePaymentDto paymentInfo1 = new InvoicePaymentDto(TransactionType.SalePayment); paymentInfo1.Date = DateTime.Today.Date; paymentInfo1.PaymentAccountUid = this.AssetInventory.Uid; paymentInfo1.Reference = Guid.NewGuid().ToString(); paymentInfo1.Summary = "Payment for Outstanding Invoice"; paymentInfo1.Fee = 19.99m; InvoicePaymentItemDto item = null; item = new InvoicePaymentItemDto(); item.InvoiceUid = sale1.Uid; item.Amount = 23.75M; paymentInfo1.Items.Add(item); proxy = new InvoicePaymentProxy(); try { proxy.Insert(paymentInfo1); throw new Exception("No exception was thrown."); } catch (RestException rex) { Assert.AreEqual("The referenced Bank Account does not exist.", rex.Message, "Incorrect message."); } }
public void InsertInvoicePayment() { CrudProxy proxy = new InvoiceProxy(); InvoiceDto sale1 = this.GetUnpaidItemSale(); InvoiceDto sale2 = this.GetUnpaidServiceSale(); proxy.Insert(sale1); proxy.Insert(sale2); InvoicePaymentDto paymentInfo1 = new InvoicePaymentDto(TransactionType.SalePayment); paymentInfo1.Date = DateTime.Today.Date; paymentInfo1.PaymentAccountUid = this.Westpac.Uid; paymentInfo1.Reference = Guid.NewGuid().ToString(); paymentInfo1.Summary = "Payment for 2 Outstanding Invoices"; paymentInfo1.Fee = 9.99m; InvoicePaymentItemDto item = null; item = new InvoicePaymentItemDto(); item.InvoiceUid = sale2.Uid; item.Amount = 20.05M; paymentInfo1.Items.Add(item); item = new InvoicePaymentItemDto(); item.InvoiceUid = sale1.Uid; item.Amount = 23.75M; paymentInfo1.Items.Add(item); proxy = new InvoicePaymentProxy(); proxy.Insert(paymentInfo1); Assert.IsTrue(paymentInfo1.Uid > 0, "Uid must be > 0 after save."); InvoicePaymentDto paymentInfo2 = (InvoicePaymentDto)proxy.GetByUid(paymentInfo1.Uid); Assert.AreEqual("AUD", paymentInfo2.Ccy, "Incorrect Currency."); AssertEqual(paymentInfo1, paymentInfo2); }
public void TestDeletePurchasePayment() { CrudProxy proxy = new InvoiceProxy(); InvoiceDto purchase1 = this.GetUnpaidItemPurchase(); InvoiceDto purchase2 = this.GetUnpaidServicePurchase(); proxy.Insert(purchase1); proxy.Insert(purchase2); InvoicePaymentDto paymentInfo1 = new InvoicePaymentDto(TransactionType.PurchasePayment); paymentInfo1.Date = DateTime.Today.Date; paymentInfo1.PaymentAccountUid = this.Westpac.Uid; paymentInfo1.Reference = Guid.NewGuid().ToString(); paymentInfo1.Summary = "Payment for 2 Outstanding Invoices"; paymentInfo1.Fee = 3.99m; InvoicePaymentItemDto item = null; item = new InvoicePaymentItemDto(); item.InvoiceUid = purchase2.Uid; item.Amount = 20.05M; paymentInfo1.Items.Add(item); item = new InvoicePaymentItemDto(); item.InvoiceUid = purchase1.Uid; item.Amount = 23.75M; paymentInfo1.Items.Add(item); proxy = new InvoicePaymentProxy(); proxy.Insert(paymentInfo1); Assert.IsTrue(paymentInfo1.Uid > 0, "Uid must be > 0 after save."); InvoicePaymentDto paymentInfo2 = (InvoicePaymentDto)proxy.GetByUid(paymentInfo1.Uid); AssertEqual(paymentInfo1, paymentInfo2); proxy = new InvoicePaymentProxy(); proxy.DeleteByUid(paymentInfo1.Uid); try { proxy.GetByUid(paymentInfo1.Uid); } catch (RestException ex) { Assert.AreEqual("RecordNotFoundException", ex.Type); } }