Example #1
0
        public List <SalesOrderLineitem> getLineItems(Domain.Models.Orders.Order order)
        {
            List <SalesOrderLineitem> li = new List <SalesOrderLineitem>();

            foreach (var x in order.OrderProducts)
            {
                SalesOrderLineitem soli = new SalesOrderLineitem
                {
                    Id              = 1,
                    CreatedDate     = DateTime.UtcNow,
                    TransactionId   = 3,
                    ProductId       = 1,
                    ProductOptionId = 6,
                    StyleCode       = x.Product.Colour,
                    Code            = x.Product.ExternalId,
                    Name            = x.Product.Name,
                    Option1         = x.Product.Unit,
                    Option2         = x.Product.Brand,
                    SizeCodes       = "none",
                    LineComments    = "none",
                    IntegrationRef  = x.Product.Id,
                    Qty             = x.Qty,
                    UnitPrice       = x.Product.Price ?? 0,
                    Discount        = 0,
                    QtyShipped      = 0
                };
                li.Add(soli);
            }
            return(li);
        }
Example #2
0
        public void Test_hasPizzaPrice()
        {
            var pizza = new CheesePizza();

            pizza.addCrust(new MediumCrust());
            var store = new NewYorkStore();
            var order = new Domain.Models.Orders.Order();

            store.newOrder(new Domain.Models.Orders.Customer(), order);
            store.addPizza(order, pizza);
            Assert.True(order.price == pizza.price);
        }
Example #3
0
        public void Test_notHavePizzaPrice()
        {
            var pizza = new CheesePizza();

            pizza.addCrust(new MediumCrust());
            var store = new NewYorkStore();
            var order = new Domain.Models.Orders.Order();

            store.newOrder(new Domain.Models.Orders.Customer(), order);
            store.addPizza(order, pizza);
            store.removePizza(order, pizza);
            Assert.False(order.pizzas.Contains(pizza));
        }
Example #4
0
        public async Task <CreateResult> Cin7SalesOrderRequest(Domain.Models.Orders.Order order)
        {
            var api         = new Cin7Api(new ApiUser("StationeryinMotionSA", "1251ada5191046238405f5a66ebbac8f"));
            var createdDate = order.Created;

            var sale = new Cin7ApiWrapper.Models.SalesOrder()
            {
                CreatedDate        = order.Created,
                ModifiedDate       = DateTime.UtcNow,
                CurrencyCode       = "ZAR",
                CurrencySymbol     = "R",
                TaxStatus          = TaxStatus.Excl,
                TaxRate            = 0.14m,
                Total              = order.OrderProducts.Sum(x => x.Qty * x.Product.Price) ?? 0,
                FirstName          = order.User.FirstName,
                LastName           = order.User.LastName,
                Company            = order.Account.CompanyName,
                Email              = order.User.Email,
                Phone              = order.User.PhoneNumber,
                CustomerOrderNo    = order.OrderNumber,
                IsApproved         = (order.Status == Domain.Enums.OrderStatus.Complete) ? true : false,
                MemberEmail        = order.User.Email,
                DeliveryAddress1   = order.Address.Address1,
                DeliveryAddress2   = order.Address.Address2,
                DeliveryCity       = order.Address.City,
                DeliveryPostalCode = order.Address.PostCode,
                //MemberCostCenter = order.Address.
                ProductTotal = order.OrderProducts.Sum(x => x.Qty * x.Product.Price) ?? 0,
                //LineItems = order.OrderProducts. add products to this array
                LineItems        = getLineItems(order).ToArray(),
                InternalComments = "DO NOT PROCESS, NEW SITE TESTS"
            };

            CreateResult result = api.SalesOrders.Create(sale);

            return(result);
        }