private bool TryResolveSubmittedOrder(CartBase cart, out SubmitVisitorOrderResult managerResponse) { var getVisitorOrdersResult = this.GetOrdersHeaders(cart.CustomerId, cart.ShopName); if (getVisitorOrdersResult.Success) { // Getting the latest order var orderHeader = getVisitorOrdersResult.OrderHeaders .OrderByDescending(x => x.OrderDate) .FirstOrDefault(); if (orderHeader != null) { var getVisitorOrderResult = this.GetOrder( orderHeader.OrderID, orderHeader.CustomerId, orderHeader.ShopName); if (getVisitorOrderResult.Order != null) { managerResponse = new SubmitVisitorOrderResult { Order = getVisitorOrderResult.Order, Success = true }; return(true); } } } managerResponse = null; return(false); }
/// <summary> /// Maps a cart base from an order model. /// </summary> /// <param name="orderHeader">The cart base order header.</param> /// <param name="orderModel">The order model.</param> public static void MapCartBaseFromModel([NotNull] this CartBase orderHeader, [NotNull] OrderModel orderModel) { Assert.ArgumentNotNull(orderHeader, "orderHeader"); Assert.ArgumentNotNull(orderModel, "orderModel"); if (orderModel.BillingAddressId != null) { orderHeader.AccountingCustomerParty = new CartParty { ExternalId = orderModel.BillingAddressId.Value.ToString(), PartyID = orderModel.BillingAddressId.Value.ToString(), Name = orderModel.BillingName }; // Billing } orderHeader.Email = orderModel.CustomerEmail; if (orderModel.ShippingAddressId != null) { orderHeader.BuyerCustomerParty = new CartParty { ExternalId = orderModel.ShippingAddressId.Value.ToString(), PartyID = orderModel.ShippingAddressId.Value.ToString(), Name = orderModel.ShippingName }; // Shipping } orderHeader.CartType = orderModel.CardType; orderHeader.CustomerId = orderModel.CustomerId.ToString(); orderHeader.ExternalId = orderModel.OrderGuid.ToID().ToString(); orderHeader.IsLocked = orderModel.IsDeleted; orderHeader.Name = orderModel.Name; orderHeader.Status = orderModel.Status; orderHeader.UserId = orderModel.CustomerGuid.ToID().ToString().ToUpper(); }
private bool TryResolveSubmittedOrder(CartBase cart, out ManagerResponse <SubmitVisitorOrderResult, Order> managerResponse) { var getVisitorOrdersRequest = new GetVisitorOrdersRequest(cart.CustomerId, cart.ShopName); GetVisitorOrdersResult getVisitorOrdersResult = this.orderServiceProvider.GetVisitorOrders(getVisitorOrdersRequest); if (getVisitorOrdersResult.Success) { // Getting the latest order OrderHeader orderHeader = getVisitorOrdersResult.OrderHeaders.OrderByDescending(x => x.OrderDate).FirstOrDefault(); if (orderHeader != null) { var getVisitorOrderRequest = new GetVisitorOrderRequest(orderHeader.OrderID, orderHeader.CustomerId, orderHeader.ShopName); GetVisitorOrderResult getVisitorOrderResult = this.orderServiceProvider.GetVisitorOrder(getVisitorOrderRequest); if (getVisitorOrderResult.Order != null) { managerResponse = new ManagerResponse <SubmitVisitorOrderResult, Order>( new SubmitVisitorOrderResult { Order = getVisitorOrderResult.Order, Success = true }, getVisitorOrderResult.Order); return(true); } } } managerResponse = null; return(false); }
public CartResult UpdateCart(Cart cart, CartBase cartUpdate) { Assert.ArgumentNotNull(cart, nameof(cart)); Assert.ArgumentNotNull(cartUpdate, nameof(cartUpdate)); return(this.Execute(new UpdateCartRequest(cart, cartUpdate), this.cartServiceProvider.UpdateCart)); }
public ActionResult Payments() { //StripeConstants.publicKey = ConfigurationManager.AppSettings["publicKey"]; PaymentModel pm = new PaymentModel(); CartBase cart = new CartBase(); cart.item_list = new ItemList(); return(View(pm)); }
public void ShouldMapCartBaseFromModel() { // arrange var id = Guid.NewGuid(); var cartModel = new ShoppingCartModel { CustomerGuid = id }; var cartBase = new CartBase(); // act cartBase.MapCartBaseFromModel(cartModel); // assert cartBase.ExternalId.Should().Be(id.ToString("B").ToUpper()); }
/// <summary> /// Maps the cart base from model. /// </summary> /// <param name="cart">The cart.</param> /// <param name="cartModel">The cart model.</param> public static void MapCartBaseFromModel([NotNull] this CartBase cart, [NotNull] ShoppingCartModel cartModel) { //cart.CustomerId = cartModel.CustomerId.ToString(); cart.ExternalId = cartModel.CustomerGuid.ToString("B").ToUpper(); cart.AccountingCustomerParty = new CartParty { ExternalId = cartModel.BillingAddressId.HasValue ? cartModel.BillingAddressId.Value.ToString() : null, PartyID = cartModel.BillingAddressId.HasValue ? cartModel.BillingAddressId.Value.ToString() : null }; cart.BuyerCustomerParty = new CartParty { ExternalId = cartModel.ShippingAddressId.HasValue ? cartModel.ShippingAddressId.Value.ToString() : null, PartyID = cartModel.ShippingAddressId.HasValue ? cartModel.ShippingAddressId.ToString() : null }; }
/// <summary> /// Runs the processor. /// </summary> /// <param name="args">The arguments.</param> public override void Process(ServicePipelineArgs args) { Assert.ArgumentNotNull(args, "args"); // Prepare request/result objects var request = (GetCartsRequest)args.Request; var result = (GetCartsResult)args.Result; // Creates instance of WCF service client. using (var client = this.GetClient()) { var cartModels = client.GetCarts(); if (!cartModels.Any()) { // Returns empty collection if there are no carts. result.Carts = Enumerable.Empty <CartBase>(); return; } var carts = new List <CartBase>(); // Maps cart lines from NopCommerce cart model to OBEC cart. foreach (var cartModel in cartModels) { var cart = new CartBase(); cart.MapCartBaseFromModel(cartModel); carts.Add(cart); } if (request.UserIds.Any()) { // ToDo: // filter by user id here in some way } result.Carts = carts; } }
public ManagerResponse <CartResult, Cart> UpdateCart(string shopName, Cart currentCart, CartBase cartUpdate) { var request = new UpdateCartRequest(currentCart, cartUpdate); var serviceProviderResult = this.cartServiceProvider.UpdateCart(request); return(new ManagerResponse <CartResult, Cart>(serviceProviderResult, serviceProviderResult.Cart)); }
/// <summary> /// Determines whether [has basket errors] [the specified cart]. /// </summary> /// <param name="cart">The cart.</param> /// <returns>True if basket errors have been detected; Otherwise false.</returns> public static bool HasBasketErrors(this CartBase cart) { return(cart.Properties.ContainsProperty("_Basket_Errors")); }
private static bool HasBasketErrors(CartBase cart) { return(cart.Properties.ContainsProperty("_Basket_Errors")); }
/// <summary> /// Performs the basket error check. /// </summary> /// <param name="cart">The cart.</param> protected virtual void PerformBasketErrorCheck(CartBase cart) { if (cart.HasBasketErrors()) { // We clear the cart from the cache when basket errors are detected. This stops the message from being displayed over and over as the // cart will be retrieved again from CS and the pipelines will be executed. var cartCache = CommerceTypeLoader.CreateInstance<CartCacheHelper>(); cartCache.InvalidateCartCache(this.CurrentVisitorContext.GetCustomerId()); } }