public IHttpActionResult GetCurrentCart(string storeId, string customerId) { if (String.IsNullOrEmpty(customerId)) { customerId = "anonymous"; } var criteria = new Domain.Cart.Model.SearchCriteria { CustomerId = customerId, StoreId = storeId }; var searchResult = _searchService.Search(criteria); var retVal = searchResult.ShopingCarts.FirstOrDefault(x => !string.IsNullOrEmpty(x.Name) && x.Name.Equals("default", StringComparison.OrdinalIgnoreCase)); if (retVal == null) { retVal = searchResult.ShopingCarts.FirstOrDefault(); } if (retVal == null) { return(Ok()); } //need load whole cart return(GetCartById(retVal.Id)); }
public virtual IShoppingCartBuilder GetOrCreateCart(string storeId, string customerId, string cartName, string currency, string cultureName) { var criteria = new ShoppingCartSearchCriteria { CustomerId = customerId, StoreId = storeId, Name = cartName, Currency = currency }; var searchResult = _shoppingCartSearchService.Search(criteria); Cart = searchResult.Results.FirstOrDefault(); if (Cart == null) { var customerContact = _memberService.GetByIds(new[] { customerId }).OfType <Contact>().FirstOrDefault(); Cart = AbstractTypeFactory <ShoppingCart> .TryCreateInstance(); Cart.Name = cartName; Cart.LanguageCode = cultureName; Cart.Currency = currency; Cart.CustomerId = customerId; Cart.CustomerName = customerContact != null ? customerContact.FullName : "Anonymous"; Cart.IsAnonymous = customerContact == null; Cart.StoreId = storeId; _shoppingCartService.SaveChanges(new[] { Cart }); Cart = _shoppingCartService.GetByIds(new[] { Cart.Id }).FirstOrDefault(); } return(this); }
public IHttpActionResult Search(ShoppingCartSearchCriteria criteria) { var result = _searchService.Search(criteria); var retVal = new ShoppingCartSearchResult { Results = result.Results.ToList(), TotalCount = result.TotalCount }; return(Ok(retVal)); }
public IHttpActionResult SearchCarts([ModelBinder(typeof(SearchCriteriaBinder))] webModel.SearchCriteria criteria) { var retVal = _searchService.Search(criteria.ToCoreModel()); return(Ok(retVal.ToWebModel())); }
public IHttpActionResult Search(webModel.SearchCriteria criteria) { var retVal = _searchService.Search(criteria.ToCoreModel()); return(Ok(retVal.ToWebModel())); }