public ReturnBuilder RemoveReturnItem(RmaReturnItem returnItem, decimal returnQuantity) { if (returnItem == null) { throw new ArgumentNullException("returnItem"); } returnItem.RmaLineItems[0].ReturnQuantity -= returnQuantity; if (returnItem.RmaLineItems[0].ReturnQuantity <= 0) { RmaRequest.RmaReturnItems.Remove(returnItem); RmaReturnItems.Remove(returnItem); } var availableLineItem = AvailableForReturnLineItems.FirstOrDefault(x => x.LineItemId == returnItem.RmaLineItems[0].LineItemId); if (availableLineItem == null) { availableLineItem = _deletedLineItemList.FirstOrDefault(x => x.LineItemId == returnItem.RmaLineItems[0].LineItemId); // undelete AvailableForReturnLineItems.Add(availableLineItem); } availableLineItem.AvailableQuantity += returnQuantity; Recalculate(); return(this); }
public TestOrderBuilder WithReturns() { var returnLineItems = _order.OrderForms[0].LineItems.Take(2).ToArray(); var returnItem1 = new RmaReturnItem { ItemState = RmaLineItemState.AwaitingReturn.ToString(), ReturnAmount = 21.32m, ReturnReason = "Corrupt" }; var rmaLineItem = new RmaLineItem { RmaReturnItemId = returnItem1.RmaReturnItemId, LineItemId = returnLineItems[0].LineItemId, LineItem = returnLineItems[0], ReturnQuantity = 1, Quantity = 0 }; returnItem1.RmaLineItems.Add(rmaLineItem); var returnItem2 = new RmaReturnItem { ItemState = RmaLineItemState.AwaitingReturn.ToString(), ReturnAmount = 210.67m, ReturnReason = "Other" }; rmaLineItem = new RmaLineItem { RmaReturnItemId = returnItem2.RmaReturnItemId, LineItemId = returnLineItems[1].LineItemId, LineItem = returnLineItems[1], ReturnQuantity = 2, Quantity = 0 }; returnItem2.RmaLineItems.Add(rmaLineItem); var rmaRequest = new RmaRequest { Status = RmaRequestStatus.AwaitingStockReturn.ToString(), ReturnTotal = 323.21m, RefundAmount = 301.89m, OrderId = _order.OrderGroupId }; foreach (var rmaItem in new[] { returnItem1, returnItem2 }) { rmaRequest.RmaReturnItems.Add(rmaItem); } ((Order)_order).RmaRequests.Add(rmaRequest); return(this); }
private void PopulateTestOrder() { if (MockOrderList == null) { MockOrderList = new List <OrderModel.Order>(); MockPaymentList = new List <Payment>(); MockShippingOptionList = new List <ShippingOption>(); MockPaymentGatewayList = new List <PaymentGateway>(); MockPaymentMethodList = new List <PaymentMethod>(); MockCountryList = new List <Country>(); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "1", TrackingNumber = "PO32313", Status = "OnHold", Total = 123.43m, CustomerId = "1" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "2", TrackingNumber = "PO62316", Status = "Completed", Total = 444.12m, CustomerId = "2" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "3", TrackingNumber = "PO75423", Status = "OnHold", Total = 765.32m, CustomerId = "3" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "4", TrackingNumber = "PO98743", Status = "Completed", Total = 775.22m, CustomerId = "4" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "5", TrackingNumber = "PO36572", Status = "InProgress", Total = 66.43m, CustomerId = "5" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "6", TrackingNumber = "PO65432", Status = "InProgress", Total = 632.12m, CustomerId = "6" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "7", TrackingNumber = "PO97898", Status = "OnHold", Total = 642.21m, CustomerId = "7" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "US Store", OrderGroupId = "10", TrackingNumber = "POS2313", Total = 123.43m, CustomerId = "11" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "US Store", OrderGroupId = "20", TrackingNumber = "POS2316", Status = "Completed", Total = 444.12m, CustomerId = "12" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "US Store", OrderGroupId = "30", TrackingNumber = "POS5423", Total = 765.32m, CustomerId = "13" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "US Store", OrderGroupId = "40", TrackingNumber = "POS8743", Status = "Completed", Total = 775.22m, CustomerId = "14" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "US Store", OrderGroupId = "50", TrackingNumber = "POS6572", Status = "InProgress", Total = 66.43m, CustomerId = "15" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "US Store", OrderGroupId = "60", TrackingNumber = "POS5432", Status = "InProgress", Total = 632.12m, CustomerId = "16" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "US Store", OrderGroupId = "70", TrackingNumber = "POS7898", Total = 642.21m, CustomerId = "17" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "US Store", OrderGroupId = "11", TrackingNumber = "PO62313", Total = 123.43m, CustomerId = "11" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "US Store", OrderGroupId = "12", TrackingNumber = "PO92316", Status = "Completed", Total = 444.12m, CustomerId = "12" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "US Store", OrderGroupId = "13", TrackingNumber = "PO25423", Total = 765.32m, CustomerId = "13" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "US Store", OrderGroupId = "14", TrackingNumber = "PO98743", Status = "Completed", Total = 775.22m, CustomerId = "14" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "US Store", OrderGroupId = "15", TrackingNumber = "PO66572", Total = 66.43m, CustomerId = "15" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "US Store", OrderGroupId = "16", TrackingNumber = "PO35432", Total = 632.12m, CustomerId = "16" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "US Store", OrderGroupId = "17", TrackingNumber = "PO07898", Total = 642.21m, CustomerId = "17" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "11", TrackingNumber = "PSS2313", Total = 123.43m, CustomerId = "11" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "21", TrackingNumber = "PSS2316", Status = "Completed", Total = 444.12m, CustomerId = "12" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "31", TrackingNumber = "PSS5423", Total = 765.32m, CustomerId = "13" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "41", TrackingNumber = "PSS8743", Status = "Completed", Total = 775.22m, CustomerId = "14" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "51", TrackingNumber = "PSS6572", Total = 66.43m, CustomerId = "15" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "61", TrackingNumber = "PSS5432", Total = 632.12m, CustomerId = "16" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "71", TrackingNumber = "PSS7898", Total = 642.21m, CustomerId = "17" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "21", TrackingNumber = "PS62313", Total = 123.43m, CustomerId = "11" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "22", TrackingNumber = "PS92316", Status = "Completed", Total = 444.12m, CustomerId = "12" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "23", TrackingNumber = "PS25423", Total = 765.32m, CustomerId = "13" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "24", TrackingNumber = "PS98743", Status = "Completed", Total = 775.22m, CustomerId = "14" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "25", TrackingNumber = "PS66572", Total = 66.43m, CustomerId = "15" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "26", TrackingNumber = "PS35432", Status = "Completed", Total = 632.12m, CustomerId = "16" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "27", TrackingNumber = "PS07898", Total = 642.21m, CustomerId = "17" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "12", TrackingNumber = "PSO2313", Total = 123.43m, CustomerId = "11" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "22", TrackingNumber = "PSO2316", Status = "Completed", Total = 444.12m, CustomerId = "12" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "32", TrackingNumber = "PSO5423", Total = 765.32m, CustomerId = "13" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "42", TrackingNumber = "PSO8743", Status = "Completed", Total = 775.22m, CustomerId = "14" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "52", TrackingNumber = "PSO6572", Total = 66.43m, CustomerId = "15" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "62", TrackingNumber = "PSO5432", Status = "AwaitingExchange", Total = 632.12m, CustomerId = "16" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "72", TrackingNumber = "PSO7898", Total = 642.21m, CustomerId = "17" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "32", TrackingNumber = "PSO2313", Total = 123.43m, CustomerId = "11" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "32", TrackingNumber = "PSO2316", Status = "Completed", Total = 444.12m, CustomerId = "12" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "33", TrackingNumber = "PSO5423", Total = 765.32m, CustomerId = "13" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "34", TrackingNumber = "PSO8743", Status = "Completed", Total = 775.22m, CustomerId = "14" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "35", TrackingNumber = "PSO6572", Total = 66.43m, CustomerId = "15" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "36", TrackingNumber = "PSO5432", Status = "AwaitingExchange", Total = 632.12m, CustomerId = "16" }); MockOrderList.Add(new OrderModel.Order { BillingCurrency = "USD", StoreId = "UK Store", OrderGroupId = "37", TrackingNumber = "PSO7898", Total = 642.21m, CustomerId = "17" }); foreach (var order in MockOrderList) { var payments = new Payment[] { new CreditCardPayment() { PaymentType = PaymentType.CreditCard.GetHashCode(), PaymentMethodName = "MasterCard", ValidationCode = "RE21321-21", Amount = 32.53m, Status = "Processing", TransactionType = TransactionType.Credit.ToString() }, new CashCardPayment() { PaymentType = PaymentType.CashCard.GetHashCode(), PaymentMethodName = "Visa", ValidationCode = "RE6211-44", Amount = 55.73m, Status = "Processing", TransactionType = TransactionType.Credit.ToString() }, new InvoicePayment() { PaymentType = PaymentType.Invoice.GetHashCode(), PaymentMethodName = "Bank transaction", ValidationCode = "BE3-21", Amount = 774.53m, Status = "Confirmed", TransactionType = TransactionType.Authorization.ToString() } }; var orderAddresses = new OrderAddress[] { new OrderAddress() { OrderAddressId = "1", City = "New Yourk", CountryCode = "us", CountryName = "USA", DaytimePhoneNumber = "+7 (906) 2121-321", Email = "*****@*****.**", Line1 = "str. 113", Line2 = "bld. 21", PostalCode = "323232", StateProvince = "WC" }, new OrderAddress() { OrderAddressId = "2", City = "Los Angeles", CountryCode = "us", CountryName = "USA", DaytimePhoneNumber = "+7 (906) 4444-444", Email = "*****@*****.**", Line1 = "av. 32", Line2 = "bld. 1", PostalCode = "432142", StateProvince = "LA" }, new OrderAddress() { OrderAddressId = "3", City = "Yourk", CountryCode = "us", CountryName = "USA", DaytimePhoneNumber = "+7 (906) 2121-321", Email = "*****@*****.**", Line1 = "str. 113", Line2 = "Pas Juozapa", PostalCode = "12100" }, new OrderAddress() { OrderAddressId = "4", City = "Vilnius", CountryCode = "lt", CountryName = "Lithuania", DaytimePhoneNumber = "+370 5 2744-444", Line1 = "Laisves pr. 125", PostalCode = "12100" }, new OrderAddress() { OrderAddressId = "5", City = "Yourk", CountryCode = "us", CountryName = "USA", DaytimePhoneNumber = "+7 (906) 2121-321", Email = "*****@*****.**", Line1 = "str. 113", Line2 = "Pas Juozapa", PostalCode = "12100" }, new OrderAddress() { OrderAddressId = "6", City = "Vilnius", CountryCode = "lt", CountryName = "Lithuania", DaytimePhoneNumber = "+370 5 2744-444", Line1 = "Laisves pr. 125", PostalCode = "54821" } }; var lineItems = new LineItem[] { new LineItem() { LineItemId = "1", DisplayName = "Chair black", Description = "some chair description", Quantity = 3, ListPrice = 32.43m, CatalogItemCode = "x-200" }, new LineItem() { LineItemId = "2", DisplayName = "Coca-Cola", Description = "some coca description", Quantity = 4, ListPrice = 3.99m, CatalogItemCode = "x-201" }, new LineItem() { LineItemId = "3", DisplayName = "Fujifilm 121MN", Description = "some fuji description", Quantity = 6, ListPrice = 89.37m, CatalogItemCode = "x-202" }, new LineItem() { LineItemId = "4", DisplayName = "Canon M32-Z", Description = "some Canon description", Quantity = 9, ListPrice = 902.94m, CatalogItemCode = "x-203" }, new LineItem() { LineItemId = "5", DisplayName = "Sony Qybershot", Description = "some Sony description", Quantity = 1, ListPrice = 320.49m, CatalogItemCode = "x-204" }, new LineItem() { LineItemId = "6", DisplayName = "Minolta 121-43s", Description = "some Minolta description", Quantity = 2, ListPrice = 324.43m, CatalogItemCode = "x-205" }, new LineItem() { LineItemId = "7", DisplayName = "Sony-Erricson", Description = "some sony description", Quantity = 3, ListPrice = 62.13m, CatalogItemCode = "x-206" }, new LineItem() { LineItemId = "8", DisplayName = "Booty-Sony", Description = "some boty description", Quantity = 1, ListPrice = 8.03m, CatalogItemCode = "x-207" } }; var orderForm = new OrderForm() { OrderFormId = "21", Status = "Processing" }; foreach (var lineItem in lineItems) { lineItem.ExtendedPrice = lineItem.Quantity * lineItem.ListPrice; lineItem.PlacedPrice = lineItem.ListPrice; orderForm.LineItems.Add(lineItem); } // Status = "OnHold", // Status = "InventoryAssigned", // Status = "Packing" var shipment1 = new Shipment() { ShipmentId = "13341-23", ShippingMethodId = "Ground Shipping", ShippingMethodName = "Ground Shipping", ShippingAddressId = "1", ShipmentTotal = 213.12m, Subtotal = 119, ShippingDiscountAmount = 5.99m }; shipment1.ShipmentItems.Add(new ShipmentItem() { LineItemId = "1", Quantity = 3 }); shipment1.ShipmentItems.Add(new ShipmentItem() { LineItemId = "2", Quantity = 4 }); shipment1.ShipmentItems.Add(new ShipmentItem() { LineItemId = "3", Quantity = 6 }); shipment1.ShipmentItems.Add(new ShipmentItem() { LineItemId = "4", Quantity = 9 }); shipment1.ShipmentItems.Add(new ShipmentItem() { LineItemId = "5", Quantity = 1 }); foreach (var shipmentItem in shipment1.ShipmentItems) { shipmentItem.Shipment = shipment1; } // Status = "AwaitingInventory" // Status = "InventoryAssigned" // Status = "Packing" var shipment2 = new Shipment() { ShipmentId = "1499-67", ShippingMethodId = "USPS", ShippingMethodName = "USPS", ShippingAddressId = "2", ShipmentTotal = 913.82m, Subtotal = 900.99m, ShippingDiscountAmount = 55.9m }; shipment2.ShipmentItems.Add(new ShipmentItem() { LineItemId = "6", Quantity = 2 }); shipment2.ShipmentItems.Add(new ShipmentItem() { LineItemId = "7", Quantity = 3 }); shipment2.ShipmentItems.Add(new ShipmentItem() { LineItemId = "8", Quantity = 1 }); foreach (var shipmentItem in shipment2.ShipmentItems) { shipmentItem.Shipment = shipment2; } orderForm.Shipments.Add(shipment1); shipment1.OrderForm = orderForm; orderForm.Shipments.Add(shipment2); shipment2.OrderForm = orderForm; order.OrderForms.Add(orderForm); orderForm.OrderGroup = order; foreach (var payment in payments) { orderForm.Payments.Add(payment); } MockPaymentList.AddRange(payments); foreach (var orderAddress in orderAddresses) { order.OrderAddresses.Add(orderAddress); } var rmaItems = new RmaReturnItem[] { new RmaReturnItem { ItemState = "AwaitingReturn", ReturnAmount = 21.32m, ReturnReason = "Corrupt" }, new RmaReturnItem { ItemState = "Received", ReturnAmount = 210.67m, ReturnReason = "Other" } }; rmaItems[0].RmaLineItems.Add(new RmaLineItem() { LineItemId = "8", Quantity = 1 }); rmaItems[1].RmaLineItems.Add(new RmaLineItem() { LineItemId = "1", Quantity = 2 }); var rmaRequest = new RmaRequest() { RmaRequestId = "RMA-13", Status = "AwaitingCompletion", ReturnTotal = 323.21m, RefundAmount = 301.89m, ReturnAddressId = "1", Order = order }; foreach (var rmaItem in rmaItems) { rmaRequest.RmaReturnItems.Add(rmaItem); } order.RmaRequests.Add(rmaRequest); } // ------------ MockShippingOptionList.AddRange(GetAllShippingOptions()); MockPaymentMethodList.AddRange(GetAllPaymentMethods()); MockCountryList.AddRange(GetAllCountries()); } }