public virtual void InsertAndEmail(InvoiceDto invoice, int templateUid, EmailMessageDto emailMessage) { TasksRunner tasksRunner = new TasksRunner(this.WSAccessKey, this.FileUid); tasksRunner.Tasks.Add(this.CreateInsertTask(invoice, templateUid, emailMessage)); this.HandleInsertResult(tasksRunner.Execute(), invoice); invoice.IsSent = true; // Reaches here - no error. Assume invoice has been sent successfully. }
public InvoiceDto GetSale1() { InvoiceDto dto = new InvoiceDto(TransactionType.Sale, InvoiceLayout.Item); dto.Date = DateTime.Today; dto.ContactUid = this.MrSmith.Uid; dto.Summary = "Test Insert Item Sale"; dto.Notes = "From REST"; dto.DueOrExpiryDate = dto.Date.AddMonths(1); dto.Layout = InvoiceLayout.Item; dto.Status = InvoiceStatus.Invoice; dto.InvoiceNumber = "<Auto Number>"; ItemInvoiceItemDto item = null; item = new ItemInvoiceItemDto(); item.Quantity = 1; item.InventoryItemUid = this.Item1.Uid; item.Description = this.Item1.Description; item.TaxCode = TaxCode.SaleInclGst; item.UnitPriceInclTax = this.Item1.RrpInclTax; dto.Items.Add(item); dto.Tags = "CC"; return dto; }
public InvoiceDto GetItemSale() { InvoiceDto dto = new InvoiceDto(TransactionType.Sale, InvoiceLayout.Item); dto.Date = DateTime.Parse("6-Oct-05"); dto.ContactUid = this.MrSmith.Uid; dto.Summary = "Test Insert Item Sale"; dto.Notes = "From REST"; dto.DueOrExpiryDate = DateTime.Parse("6-Nov-05"); dto.Layout = InvoiceLayout.Item; dto.Status = InvoiceStatus.Invoice; dto.InvoiceNumber = "<Auto Number>"; dto.PurchaseOrderNumber = "PO333"; ItemInvoiceItemDto item = null; item = new ItemInvoiceItemDto(); item.Quantity = 2; item.InventoryItemUid = this.AsusLaptop.Uid; item.Description = "Asus Laptop"; item.TaxCode = TaxCode.SaleInclGst; item.UnitPriceInclTax = 1200.75M; item.PercentageDiscount = 12.50M; dto.Items.Add(item); item = new ItemInvoiceItemDto(); item.Quantity = 5.125M; item.InventoryItemUid = this.Cat5Cable.Uid; item.Description = "Cat 5 Cable (in meter)"; item.TaxCode = TaxCode.SaleGstFree; item.UnitPriceInclTax = 2.1234M; dto.Items.Add(item); item = new ItemInvoiceItemDto(); item.Quantity = 3; item.InventoryItemUid = this.Cat5Cable.Uid; item.Description = "Cat 5 Cable (in meter)"; item.TaxCode = TaxCode.SaleExports; item.UnitPriceInclTax = 5.125M; dto.Items.Add(item); QuickPaymentDto payment = new QuickPaymentDto(); payment.DatePaid = dto.Date; payment.BankedToAccountUid = this.StGeorge.Uid; payment.Reference = "C-001-023"; payment.Amount = 222.22M; dto.QuickPayment = payment; return dto; }
public virtual void CreatePurchaseForInventoryItemsUsed() { InvoiceDto dto = new InvoiceDto(TransactionType.Purchase, InvoiceLayout.Item); dto.Date = DateTime.Today.Date; dto.ContactUid = this.MrSmith.Uid; dto.Summary = "Invoice Tests - CreatePurchaseForInventoryItemsUsed()"; dto.Notes = "From REST"; dto.DueOrExpiryDate = dto.Date.AddMonths(1); dto.Status = InvoiceStatus.Invoice; dto.PurchaseOrderNumber = "<Auto Number>"; ItemInvoiceItemDto item = null; item = new ItemInvoiceItemDto(); item.Quantity = 10000; item.InventoryItemUid = this.AsusLaptop.Uid; item.Description = this.AsusLaptop.Description; item.TaxCode = TaxCode.ExpInclGst; item.UnitPriceInclTax = 1000M; dto.Items.Add(item); item = new ItemInvoiceItemDto(); item.Quantity = 10000; item.InventoryItemUid = this.HardDisk.Uid; item.Description = this.HardDisk.Description; item.TaxCode = TaxCode.ExpInclGst; item.UnitPriceInclTax = 99.95M; dto.Items.Add(item); item = new ItemInvoiceItemDto(); item.Quantity = 500000; item.InventoryItemUid = this.Cat5Cable.Uid; item.Description = this.Cat5Cable.Description; item.TaxCode = TaxCode.ExpInclGst; item.UnitPriceInclTax = 0.95M; dto.Items.Add(item); new InvoiceProxy().Insert(dto); }
public InvoiceDto GetServiceSale() { InvoiceDto dto = new InvoiceDto(TransactionType.Sale, InvoiceLayout.Service); dto.Date = DateTime.Parse("30-Sep-05"); dto.ContactUid = this.MrSmith.Uid; dto.Summary = "Test POST sale"; dto.Notes = "From REST"; dto.DueOrExpiryDate = DateTime.Parse("1-Dec-05"); dto.Status = "I"; dto.InvoiceNumber = "<Auto Number>"; dto.PurchaseOrderNumber = "PO222"; dto.IsSent = false; ServiceInvoiceItemDto item = new ServiceInvoiceItemDto(); item.Description = "Design & Development of REST WS"; item.AccountUid = this.IncomeService.Uid; item.TaxCode = TaxCode.SaleInclGst; item.TotalAmountInclTax = 2132.51M; dto.Items.Add(item); item = new ServiceInvoiceItemDto(); item.Description = "Subscription to XYZ"; item.AccountUid = this.IncomeSubscription.Uid; item.TaxCode = TaxCode.SaleInclGst; item.TotalAmountInclTax = 11.22M; dto.Items.Add(item); QuickPaymentDto payment = new QuickPaymentDto(); payment.DatePaid = dto.Date; payment.BankedToAccountUid = this.Westpac.Uid; payment.Reference = "CASH"; payment.Summary = "Quick payment from NUnitTests."; payment.Amount = 100; dto.QuickPayment = payment; return dto; }
protected static void AssertEqual(InvoiceDto expected, InvoiceDto actual) { Assert.AreEqual(expected.Uid, actual.Uid, "Different uid."); Assert.AreEqual(expected.LastUpdatedUid, actual.LastUpdatedUid, "Different last updated uid."); Assert.AreEqual(expected.TransactionType, actual.TransactionType, "Different transaction type."); Assert.AreEqual(expected.Date, actual.Date, "Different date."); Assert.AreEqual(expected.ContactUid, actual.ContactUid, "Different contact uid."); Assert.AreEqual(expected.ShipToContactUid, actual.ShipToContactUid, "Different ship to contact uid."); Assert.AreEqual(expected.Summary, actual.Summary, "Different summary."); Assert.AreEqual(expected.Notes, actual.Notes, "Different notes."); Assert.AreEqual(expected.RequiresFollowUp, actual.RequiresFollowUp, "Different requires follow up."); Assert.AreEqual(expected.DueOrExpiryDate, actual.DueOrExpiryDate, "Different due date or expiry date."); Assert.AreEqual(expected.Layout, actual.Layout, "Different layout."); Assert.IsNotNullOrEmpty(actual.Status, "Invoice status must always be set on returned data."); var expectedTradingTermsType = expected.TradingTerms.Type; if (expected.DueOrExpiryDate != DateTime.MinValue) { expectedTradingTermsType = 1; // DueIn } Assert.AreEqual(expectedTradingTermsType, actual.TradingTerms.Type,"Trading terms type not set correctly. DueIn Expected"); if (!string.IsNullOrWhiteSpace(expected.InvoiceType)) { Assert.AreEqual(expected.InvoiceType, actual.InvoiceType, "Different invoice type."); } Assert.IsNotNullOrEmpty(actual.InvoiceType, "Invoice Type must always be set on returned data."); Assert.AreEqual(expected.InvoiceNumber, actual.InvoiceNumber, "Different invoice number."); Assert.AreEqual(expected.PurchaseOrderNumber, actual.PurchaseOrderNumber, "Different purchase order number."); Assert.AreEqual(expected.IsSent, actual.IsSent, "Different is sent."); if (expected.Layout == InvoiceLayout.Service) { AssertEqualForServiceInvoiceItems(expected.Items, actual.Items); } else { AssertEqualForItemInvoiceItems(expected.Items, actual.Items); } }
public InvoiceDto GetUnpaidServiceSale() { InvoiceDto dto = new InvoiceDto(TransactionType.Sale, InvoiceLayout.Service); dto.Date = DateTime.Parse("30-Sep-05"); dto.ContactUid = this.MrsSmith.Uid; dto.Summary = "Test POST sale"; dto.Notes = "From REST"; dto.DueOrExpiryDate = DateTime.Parse("1-Dec-05"); dto.InvoiceNumber = "<Auto Number>"; dto.PurchaseOrderNumber = "PO222"; ServiceInvoiceItemDto item = new ServiceInvoiceItemDto(); item.Description = "Design & Development of REST WS"; item.AccountUid = this.IncomeHardwareSales.Uid; item.TaxCode = "G1"; item.TotalAmountInclTax = 2132.51M; dto.Items.Add(item); item = new ServiceInvoiceItemDto(); item.Description = "Testing"; item.AccountUid = this.IncomeMisc.Uid; item.TaxCode = "G1,G3"; item.TotalAmountInclTax = 11.22M; dto.Items.Add(item); return dto; }
public InvoiceDto GetUnpaidItemSale() { InvoiceDto dto = new InvoiceDto(TransactionType.Sale, InvoiceLayout.Item); dto.Date = DateTime.Parse("6-Oct-05"); dto.ContactUid = this.MrsSmith.Uid; dto.Summary = "Test Insert Item Sale"; dto.Notes = "From REST"; dto.DueOrExpiryDate = DateTime.Parse("6-Nov-05"); dto.Status = InvoiceStatus.Invoice; dto.InvoiceNumber = "<Auto Number>"; dto.PurchaseOrderNumber = "PO333"; ItemInvoiceItemDto item = null; item = new ItemInvoiceItemDto(); item.Quantity = 2; item.InventoryItemUid = this.HardDisk.Uid; item.Description = this.HardDisk.Description; item.TaxCode = TaxCode.SaleInclGst; item.UnitPriceInclTax = 120.75M; dto.Items.Add(item); item = new ItemInvoiceItemDto(); item.Quantity = 5.125M; item.InventoryItemUid = this.Cat5Cable.Uid; item.Description = this.Cat5Cable.Description; item.TaxCode = TaxCode.SaleInclGst; item.UnitPriceInclTax = 2.555M; dto.Items.Add(item); return dto; }
public InvoiceDto GetServiceSaleTotalsTest() { var dto = new InvoiceDto(TransactionType.Sale, InvoiceLayout.Service); dto.Date = DateTime.Parse("30-Sep-05"); dto.ContactUid = this.MrSmith.Uid; dto.Summary = "Test POST sale"; dto.Notes = "From REST"; dto.DueOrExpiryDate = DateTime.Parse("1-Dec-05"); dto.Status = "I"; dto.InvoiceNumber = "<Auto Number>"; dto.PurchaseOrderNumber = "PO23222"; dto.IsSent = false; return dto; }
public InvoiceDto GetServiceSale2() { InvoiceDto dto = new InvoiceDto(TransactionType.Sale, InvoiceLayout.Service); dto.Date = DateTime.Parse("15-Sep-05"); dto.ContactUid = this.MrsSmith.Uid; dto.Summary = "Service Sale 2"; dto.DueOrExpiryDate = DateTime.Parse("15-Dec-05"); dto.InvoiceNumber = "<Auto Number>"; dto.PurchaseOrderNumber = "PO123456789"; ServiceInvoiceItemDto item = new ServiceInvoiceItemDto(); item.Description = "LINE 1 LINE 1 LINE 1"; item.AccountUid = this.IncomeService.Uid; item.TaxCode = TaxCode.SaleExports; item.TotalAmountInclTax = 12345.12M; dto.Items.Add(item); item = new ServiceInvoiceItemDto(); item.Description = "Testing"; item.AccountUid = this.IncomeHardwareSales.Uid; item.TaxCode = TaxCode.SaleAdjustments; item.TotalAmountInclTax = -123.9M; dto.Items.Add(item); item = new ServiceInvoiceItemDto(); item.Description = "Testing"; item.AccountUid = this.IncomeShipping.Uid; item.TaxCode = TaxCode.SaleInclGst; item.TotalAmountInclTax = 569.66M; dto.Items.Add(item); return dto; }
public InvoiceDto GetAdjustmentNote() { InvoiceDto dto = new InvoiceDto(TransactionType.Sale, InvoiceLayout.Service); dto.Date = DateTime.Parse("30-Sep-05"); dto.ContactUid = this.MrSmith.Uid; dto.Summary = "Test Adjustment Note"; dto.Notes = "From REST"; dto.DueOrExpiryDate = DateTime.Parse("31-Jan-2012"); // Don't set the status. Use InvoiceType instead. Eventually, InvoiceStatus will be deprecated and replaced with InvoiceType. dto.InvoiceType = InvoiceType.AdjustmentNote; dto.InvoiceNumber = "<Auto Number>"; dto.PurchaseOrderNumber = "PO222"; dto.IsSent = false; ServiceInvoiceItemDto item = new ServiceInvoiceItemDto(); item.Description = "Refund"; item.AccountUid = this.IncomeService.Uid; item.TaxCode = TaxCode.SaleInclGst; item.TotalAmountInclTax = -1000M; dto.Items.Add(item); QuickPaymentDto payment = new QuickPaymentDto(); payment.DatePaid = dto.Date; payment.BankedToAccountUid = this.Westpac.Uid; payment.Reference = "CASH"; payment.Summary = "Quick payment from NUnitTests."; payment.Amount = -1000; dto.QuickPayment = payment; return dto; }
private InvoiceDto GetUnpaidServicePurchase(string PONumber = null) { InvoiceDto dto = new InvoiceDto(TransactionType.Purchase, InvoiceLayout.Service); dto.Date = DateTime.Today.Date; dto.ContactUid = this.MrSmith.Uid; dto.Summary = "Test POST Purchase"; dto.Notes = "From REST"; dto.DueOrExpiryDate = dto.Date.AddMonths(1); dto.Status = InvoiceStatus.Order; dto.PurchaseOrderNumber = "<Auto Number>"; if (!string.IsNullOrWhiteSpace(PONumber)) { dto.PurchaseOrderNumber = PONumber.Trim(); } ServiceInvoiceItemDto item = new ServiceInvoiceItemDto(); item.Description = "Purchase - Line Item 1"; item.AccountUid = this.ExpenseOffice.Uid; item.TaxCode = TaxCode.ExpInclGst; item.TotalAmountInclTax = 123.45M; dto.Items.Add(item); item = new ServiceInvoiceItemDto(); item.Description = "Purchase - Line Item 2"; item.AccountUid = this.ExpenseMisc.Uid; // item.TaxCode = TaxCode.ExpInclGstPrivateNonDeductable; item.TotalAmountInclTax = 678.90M; dto.Items.Add(item); return dto; }
private InvoiceDto GetUnpaidItemPurchase() { InvoiceDto dto = new InvoiceDto(TransactionType.Purchase, InvoiceLayout.Item); dto.Date = DateTime.Today.Date; dto.ContactUid = this.MrSmith.Uid; dto.Summary = "Test Insert Item Purchase"; dto.Notes = "From REST"; dto.DueOrExpiryDate = dto.Date.AddMonths(1); dto.Status = InvoiceStatus.Invoice; dto.InvoiceNumber = "I123"; dto.PurchaseOrderNumber = "<Auto Number>"; ItemInvoiceItemDto item = null; item = new ItemInvoiceItemDto(); item.Quantity = 100; item.InventoryItemUid = this.HardDisk.Uid; item.Description = this.HardDisk.Description; item.TaxCode = TaxCode.ExpInclGst; item.UnitPriceInclTax = 99.95M; dto.Items.Add(item); item = new ItemInvoiceItemDto(); item.Quantity = 5000; item.InventoryItemUid = this.Cat5Cable.Uid; item.Description = this.Cat5Cable.Description; item.TaxCode = TaxCode.ExpInclGst; item.UnitPriceInclTax = 0.95M; dto.Items.Add(item); item = new ItemInvoiceItemDto(); item.Quantity = 1; item.InventoryItemUid = this.Shipping1.Uid; item.Description = this.Shipping1.Description; item.TaxCode = TaxCode.ExpInclGst; item.UnitPriceInclTax = 111.11M; dto.Items.Add(item); return dto; }
public InvoiceDto GetServiceSale() { var dto = new InvoiceDto(TransactionType.Sale, InvoiceLayout.Service); dto.Date = DateTime.Parse("30-Sep-05"); dto.ContactUid = MrSmith.Uid; dto.Summary = "Test POST sale"; dto.Notes = "From REST"; dto.DueOrExpiryDate = DateTime.Parse("1-Dec-05"); dto.Status = "I"; dto.InvoiceNumber = "<Auto Number>"; dto.PurchaseOrderNumber = "PO222"; dto.IsSent = false; var item = new ServiceInvoiceItemDto(); item.Description = "Design & Development of REST WS"; item.AccountUid = IncomeService.Uid; item.TaxCode = TaxCode.SaleInclGst; item.TotalAmountInclTax = 2132.51M; dto.Items.Add(item); return dto; }
public void InsertAndEmail(InvoiceDto invoice, EmailMessageDto emailMessage) { this.InsertAndEmail(invoice, 0, emailMessage); }
protected virtual ITask CreateUpdateTask(InvoiceDto invoice, int templateUid, EmailMessageDto emailMessage) { UpdateInvoiceTask task = (UpdateInvoiceTask) base.CreateUpdateTask(invoice); task.EmailToContact = true; task.TemplateUid = templateUid; task.EmailMessage = emailMessage; return task; }
private InvoiceDto GetServicePurchase() { var dto = new InvoiceDto(TransactionType.Purchase, InvoiceLayout.Service); dto.Date = DateTime.Today.Date; dto.ContactUid = MrSmith.Uid; dto.Summary = "Test POST Purchase"; dto.Notes = "From REST"; dto.DueOrExpiryDate = dto.Date.AddMonths(1); dto.Status = InvoiceStatus.Order; dto.PurchaseOrderNumber = "<Auto Number>"; var item = new ServiceInvoiceItemDto(); item.Description = "Purchase - Line Item 1"; item.AccountUid = ExpenseOffice.Uid; item.TaxCode = TaxCode.ExpInclGst; item.TotalAmountInclTax = 123.45M; dto.Items.Add(item); item = new ServiceInvoiceItemDto(); item.Description = "Purchase - Line Item 2"; item.AccountUid = ExpenseMisc.Uid; // item.TaxCode = TaxCode.ExpInclGstPrivateNonDeductable; item.TotalAmountInclTax = 678.90M; dto.Items.Add(item); return dto; }
public void BuildComboItem() { ComboItemProxy proxy = new ComboItemProxy(); ComboItemDto comboItemDto = this.GetComboItem01(); proxy.Insert(comboItemDto); ComboItemDto comboItem = (ComboItemDto)proxy.GetByUid(comboItemDto.Uid); // We need to insert stock first using a purchase CrudProxy invoiceProxy = new InvoiceProxy(); InvoiceDto dto = new InvoiceDto(TransactionType.Purchase, InvoiceLayout.Item); dto.Date = DateTime.Today.Date; dto.ContactUid = this.MrSmith.Uid; dto.Summary = "Add stock do we can build ComboItems"; dto.Notes = "From REST"; dto.DueOrExpiryDate = dto.Date.AddMonths(1); dto.Status = InvoiceStatus.Invoice; dto.InvoiceNumber = "I123"; dto.PurchaseOrderNumber = "<Auto Number>"; decimal unitsToBuild = 12.25M; foreach(ComboItemLineItemDto itemInCombo in comboItem.Items) { // "purchase" all the items that are part of this combo item so we have valid stock ItemInvoiceItemDto item = new ItemInvoiceItemDto(); item.Quantity = itemInCombo.Quantity * unitsToBuild; item.InventoryItemUid = itemInCombo.Uid; item.Description = "Purchasing: " + itemInCombo.Code; item.TaxCode = TaxCode.ExpInclGst; item.UnitPriceInclTax = 99.95M; dto.Items.Add(item); } invoiceProxy.Insert(dto); // Download stock info before InventoryItemProxy inventoryItemProxy = new InventoryItemProxy(); InventoryItemDto inventoryItem = (InventoryItemDto)inventoryItemProxy.GetByUid(comboItemDto.Uid); decimal stockOnHand = inventoryItem.StockOnHand; // Build the item! BuildComboItemResult result = proxy.Build(comboItemDto.Uid, unitsToBuild); Assert.AreNotEqual(0, result.Uid); Assert.IsNotNull(result.LastUpdatedUid); inventoryItem = (InventoryItemDto)inventoryItemProxy.GetByUid(comboItemDto.Uid); decimal newStockOnHand = inventoryItem.StockOnHand; Assert.AreEqual(stockOnHand + unitsToBuild, newStockOnHand, "We have one extra item in stock"); // Read Inventory Transfer details InventoryTransferProxy transferProxy = new InventoryTransferProxy(); InventoryTransferDto transfer = (InventoryTransferDto)transferProxy.GetByUid(result.Uid); Assert.AreEqual(comboItem.Items.Count+1, transfer.Items.Count); // +1 as we have the combo item the first one // confirm first item is the combo with +1 InventoryTransferItemDto comboItemTransfer = (InventoryTransferItemDto)transfer.Items[0]; Assert.AreEqual(comboItemDto.Uid, comboItemTransfer.InventoryItemUid); Assert.AreEqual(unitsToBuild, comboItemTransfer.Quantity); for (int i = 0; i < comboItem.Items.Count; i++) { ComboItemLineItemDto line = comboItem.Items[i]; InventoryTransferItemDto item = (InventoryTransferItemDto)transfer.Items[i+1]; Assert.AreEqual(line.Uid, item.InventoryItemUid); Assert.AreEqual(line.Quantity * unitsToBuild, -item.Quantity); } }
public void DeleteReferenced() { ComboItemProxy proxy = new ComboItemProxy(); ComboItemDto comboItem = this.GetComboItem01(); proxy.Insert(comboItem); // We need to insert stock first using a purchase CrudProxy invoiceProxy = new InvoiceProxy(); InvoiceDto dto = new InvoiceDto(TransactionType.Purchase, InvoiceLayout.Item); dto.Date = DateTime.Today.Date; dto.ContactUid = this.MrSmith.Uid; dto.Summary = "Using a combo item."; dto.Notes = "From REST"; dto.DueOrExpiryDate = dto.Date.AddMonths(1); dto.Status = InvoiceStatus.Invoice; dto.InvoiceNumber = "I123"; dto.PurchaseOrderNumber = "<Auto Number>"; decimal unitsToBuild = 12.25M; // "purchase" all the items that are part of this combo item so we have valid stock ItemInvoiceItemDto item = new ItemInvoiceItemDto(); item.Quantity = 5; item.InventoryItemUid = comboItem.Uid; item.Description = "Purchasing: " + comboItem.Description; item.TaxCode = TaxCode.ExpInclGst; item.UnitPriceInclTax = 99.95M; dto.Items.Add(item); invoiceProxy.Insert(dto); try { proxy.DeleteByUid(comboItem.Uid); Assert.Fail("Expected exception was not thrown."); } catch (RestException ex) { Assert.AreEqual("The specified inventory item is referenced by some Transactions and/or Combo Items and therefore cannot be deleted.", ex.Message); } }
private InvoiceDto GetSaleOrder(InventoryItemDto itemDto) { InvoiceDto dto = new InvoiceDto(TransactionType.Sale, InvoiceLayout.Item); dto.Date = DateTime.Parse("6-Oct-05"); dto.ContactUid = this.MrSmith.Uid; dto.Summary = "Test Insert Item Sale"; dto.Notes = "From REST"; dto.DueOrExpiryDate = DateTime.Parse("6-Nov-05"); dto.Layout = InvoiceLayout.Item; dto.Status = InvoiceStatus.Order; dto.InvoiceNumber = "<Auto Number>"; dto.PurchaseOrderNumber = "PO333"; ItemInvoiceItemDto item = null; item = new ItemInvoiceItemDto(); item.Quantity = 5; item.InventoryItemUid = itemDto.Uid; item.Description = "Asus Laptop"; item.TaxCode = TaxCode.SaleInclGst; item.UnitPriceInclTax = 1200.75M; item.PercentageDiscount = 12.50M; dto.Items.Add(item); return dto; }
private void SetupTransactions() { CrudProxy proxy = new InvoiceProxy(); _sale1 = GetServiceSale(); proxy.Insert(_sale1); Assert.IsTrue(_sale1.Uid > 0, "Sale tran uid must be > 0 after insert."); _purchase1 = GetServicePurchase(); proxy.Insert(_purchase1); Assert.IsTrue(_purchase1.Uid > 0, "Purchase tran uid must be > 0 after insert."); }