Example #1
0
        public static webModel.ShoppingCart ToWebModel(this coreModel.ShoppingCart cart)
        {
            var retVal = new webModel.ShoppingCart();

            retVal.InjectFrom(cart);

            retVal.Currency = cart.Currency;
            if (cart.Addresses != null)
            {
                retVal.Addresses = cart.Addresses.Select(x => x.ToWebModel()).ToList();
            }
            if (cart.Items != null)
            {
                retVal.Items = cart.Items.Select(x => x.ToWebModel()).ToList();
            }
            if (cart.Payments != null)
            {
                retVal.Payments = cart.Payments.Select(x => x.ToWebModel()).ToList();
            }
            if (cart.Shipments != null)
            {
                retVal.Shipments = cart.Shipments.Select(x => x.ToWebModel()).ToList();
            }
            if (cart.Discounts != null)
            {
                retVal.Discounts = cart.Discounts.Select(x => x.ToWebModel()).ToList();
            }

            retVal.TaxDetails = cart.TaxDetails;

            return(retVal);
        }
        public IHttpActionResult Create(webModel.ShoppingCart cart)
        {
            var coreCart = cart.ToCoreModel();

            _shoppingCartService.Create(coreCart);
            return(this.StatusCode(HttpStatusCode.NoContent));
        }
        public IHttpActionResult Create(webModel.ShoppingCart cart)
        {
            var coreCart = cart.ToCoreModel();

            coreCart = _shoppingCartService.Create(coreCart);
            return(Ok(coreCart.ToWebModel()));
        }
        public IHttpActionResult Update(webModel.ShoppingCart cart)
        {
            var coreCart = cart.ToCoreModel();

            _shoppingCartService.Update(new[] { coreCart });
            var retVal = _shoppingCartService.GetById(coreCart.Id);

            return(Ok(retVal.ToWebModel()));
        }
		public static webModel.ShoppingCart ToWebModel(this coreModel.ShoppingCart cart)
		{
			var retVal = new webModel.ShoppingCart();
			retVal.InjectFrom(cart);

			retVal.Currency = cart.Currency;
			if(cart.Addresses != null)
				retVal.Addresses = cart.Addresses.Select(x => x.ToWebModel()).ToList();
			if(cart.Items != null)
				retVal.Items = cart.Items.Select(x => x.ToWebModel()).ToList();
			if(cart.Payments != null)
				retVal.Payments = cart.Payments.Select(x => x.ToWebModel()).ToList();
			if(cart.Shipments != null)
				retVal.Shipments = cart.Shipments.Select(x => x.ToWebModel()).ToList();
			if(cart.Discounts != null)
				retVal.Discounts = cart.Discounts.Select(x => x.ToWebModel()).ToList();

			retVal.TaxDetails = cart.TaxDetails;

			return retVal;
		}
Example #6
0
        public static coreModel.ShoppingCart ToCoreModel(this webModel.ShoppingCart cart)
        {
            var retVal = new coreModel.ShoppingCart();

            retVal.InjectFrom(cart);

            retVal.Currency = cart.Currency;

            if (cart.Addresses != null)
            {
                retVal.Addresses = cart.Addresses.Select(x => x.ToCoreModel()).ToList();
            }
            if (cart.Items != null)
            {
                retVal.Items = cart.Items.Select(x => x.ToCoreModel()).ToList();
            }
            if (cart.Payments != null)
            {
                retVal.Payments = cart.Payments.Select(x => x.ToCoreModel()).ToList();
            }
            if (cart.Shipments != null)
            {
                retVal.Shipments = cart.Shipments.Select(x => x.ToCoreModel()).ToList();
            }
            if (cart.Discounts != null)
            {
                retVal.Discounts = cart.Discounts.Select(x => x.ToCoreModel()).ToList();
            }
            if (cart.Coupon != null)
            {
                retVal.Coupon = new coreModel.Coupon()
                {
                    CouponCode = cart.Coupon.CouponCode, InvalidDescription = cart.Coupon.InvalidDescription
                };
            }

            retVal.TaxDetails = cart.TaxDetails;
            return(retVal);
        }
Example #7
0
        public void CreateMultishipmentCart()
        {
            var controller = GetCartController();

            var cart = new webModel.ShoppingCart
            {
                Currency     = "USD",
                CustomerId   = "et",
                CustomerName = "et",
                Name         = "default",
                StoreId      = "Clothing"
            };
            var item = new webModel.LineItem
            {
                CatalogId   = "Samsung",
                CategoryId  = "100df6d5-8210-4b72-b00a-5003f9dcb79d",
                ProductId   = "v-b000bkzs9w",
                ListPrice   = 10.44m,
                PlacedPrice = 20.33m,
                Quantity    = 1,
                Sku         = "v-b000bkzs9w",
                Name        = "Samsung YP-T7JX 512 MB Digital Audio Player with FM Tuner & Recorder",
                Currency    = cart.Currency
            };

            cart.Items = new List <webModel.LineItem>();
            cart.Items.Add(item);
            var deliveryAddress = new webModel.Address
            {
                Type         = AddressType.Shipping,
                City         = "london",
                Phone        = "+68787687",
                PostalCode   = "2222",
                CountryCode  = "ENG",
                CountryName  = "England",
                Email        = "*****@*****.**",
                FirstName    = "first name",
                LastName     = "last name",
                Organization = "org1",
                Line1        = "sss"
            };
            //Select appropriate shipment method
            var shipment = new webModel.Shipment
            {
                DeliveryAddress    = deliveryAddress,
                Currency           = "USD",
                ShipmentMethodCode = "",
                ShippingPrice      = 10
            };

            cart.Shipments = new List <webModel.Shipment>();
            cart.Shipments.Add(shipment);
            shipment.Items = new List <webModel.ShipmentItem>();
            shipment.Items.Add(new Web.Model.ShipmentItem {
                Quantity = 10, LineItem = item
            });

            cart = (controller.Create(cart) as OkNegotiatedContentResult <webModel.ShoppingCart>).Content;

            //Add exist line items in cart
            var existLineItem = cart.Items.First();
            var shipment2     = new webModel.Shipment
            {
                DeliveryAddress    = deliveryAddress,
                Currency           = "USD",
                ShipmentMethodCode = "sss",
                ShippingPrice      = 11
            };

            cart.Shipments.Add(shipment2);
            shipment2.Items = new List <webModel.ShipmentItem>();
            shipment2.Items.Add(new Web.Model.ShipmentItem {
                Quantity = 5, LineItem = existLineItem
            });
            existLineItem.Quantity += 5;

            cart = (controller.Update(cart) as OkNegotiatedContentResult <webModel.ShoppingCart>).Content;

            //Add new item to exist shipment
            var item2 = new webModel.LineItem
            {
                CatalogId   = "Sony",
                CategoryId  = "100df6d5-8210-4b72-b00a-5003f9dcb79d",
                ProductId   = "v-sssss",
                ListPrice   = 10.44m,
                PlacedPrice = 20.33m,
                Quantity    = 1,
                Sku         = "v-ssss",
                Name        = "Sony",
                Currency    = cart.Currency
            };

            cart.Items.Add(item2);
            cart.Shipments.First().Items.Add(new Web.Model.ShipmentItem {
                Quantity = 3, LineItem = item2
            });
            cart = (controller.Update(cart) as OkNegotiatedContentResult <webModel.ShoppingCart>).Content;
        }
        public void CreateMultishipmentCart()
        {
            var controller = GetCartController();
       
            var cart = new webModel.ShoppingCart
            {
                Currency = Platform.Core.Common.CurrencyCodes.USD,
                CustomerId = "et",
                CustomerName = "et",
                Name = "default",
                StoreId = "Clothing"
            };
            var item = new webModel.LineItem
            {
                CatalogId = "Samsung",
                CategoryId = "100df6d5-8210-4b72-b00a-5003f9dcb79d",
                ProductId = "v-b000bkzs9w",
                ListPrice = 10.44m,
                PlacedPrice = 20.33m,
                Quantity = 1,
                Sku = "v-b000bkzs9w",
                Name = "Samsung YP-T7JX 512 MB Digital Audio Player with FM Tuner & Recorder",
                Currency = cart.Currency
            };
            cart.Items = new List<webModel.LineItem>();
            cart.Items.Add(item);
            var deliveryAddress = new webModel.Address
            {
                Type = AddressType.Shipping,
                City = "london",
                Phone = "+68787687",
                PostalCode = "2222",
                CountryCode = "ENG",
                CountryName = "England",
                Email = "*****@*****.**",
                FirstName = "first name",
                LastName = "last name",
                Organization = "org1",
                Line1 = "sss"
            }; 
            //Select appropriate shipment method
            var shipment = new webModel.Shipment
            {
                DeliveryAddress = deliveryAddress,
                Currency = Platform.Core.Common.CurrencyCodes.USD,
                ShipmentMethodCode = "",
                ShippingPrice = 10
            };
            cart.Shipments = new List<webModel.Shipment>();
            cart.Shipments.Add(shipment);
            shipment.Items = new List<webModel.ShipmentItem>();
            shipment.Items.Add(new Web.Model.ShipmentItem { Quantity = 10, LineItem = item });

            cart = (controller.Create(cart) as OkNegotiatedContentResult<webModel.ShoppingCart>).Content;

            //Add exist line items in cart
            var existLineItem = cart.Items.First();
            var shipment2 = new webModel.Shipment
            {
                DeliveryAddress = deliveryAddress,
                Currency = Platform.Core.Common.CurrencyCodes.USD,
                ShipmentMethodCode = "sss",
                ShippingPrice = 11
            };
            cart.Shipments.Add(shipment2);
            shipment2.Items = new List<webModel.ShipmentItem>();
            shipment2.Items.Add(new Web.Model.ShipmentItem { Quantity = 5, LineItem = existLineItem });
            existLineItem.Quantity += 5;

            cart = (controller.Update(cart) as OkNegotiatedContentResult<webModel.ShoppingCart>).Content;

            //Add new item to exist shipment
            var item2 = new webModel.LineItem
            {
                CatalogId = "Sony",
                CategoryId = "100df6d5-8210-4b72-b00a-5003f9dcb79d",
                ProductId = "v-sssss",
                ListPrice = 10.44m,
                PlacedPrice = 20.33m,
                Quantity = 1,
                Sku = "v-ssss",
                Name = "Sony",
                Currency = cart.Currency
            };
            cart.Items.Add(item2);
            cart.Shipments.First().Items.Add(new Web.Model.ShipmentItem { Quantity = 3, LineItem = item2 });
            cart = (controller.Update(cart) as OkNegotiatedContentResult<webModel.ShoppingCart>).Content;
        }