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; }
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); }
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; }