コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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());
            }
        }