public PurchaseOrder ReadPurchaseOrderByTrackingNumber(string confirmationNumber) { Guid?userId = GetSoldToIdForPurchaseOrderByInvoice(confirmationNumber); if (userId.HasValue) { var queryBaskets = new CommerceQuery <CommerceEntity, CommerceModelSearch <CommerceEntity>, CommerceBasketQueryOptionsBuilder>("Basket"); queryBaskets.SearchCriteria.Model.Properties["UserId"] = userId.Value.ToString("B"); queryBaskets.SearchCriteria.Model.Properties["BasketType"] = 1; queryBaskets.SearchCriteria.Model.Properties["OrderNumber"] = confirmationNumber; queryBaskets.QueryOptions.RefreshBasket = false; var queryLineItems = new CommerceQueryRelatedItem <CommerceEntity>("LineItems", "LineItem"); queryBaskets.RelatedOperations.Add(queryLineItems); var response = FoundationService.ExecuteRequest(queryBaskets.ToRequest()); if (response.OperationResponses.Count == 0) { return(null); } CommerceQueryOperationResponse basketResponse = response.OperationResponses[0] as CommerceQueryOperationResponse; return(basketResponse.CommerceEntities.Cast <CommerceEntity>().Select(p => (PurchaseOrder)p).First()); } else { return(null); } }
public PurchaseOrder ReadPurchaseOrder(Guid customerId, string orderNumber) { var queryBaskets = new CommerceQuery <CommerceEntity, CommerceModelSearch <CommerceEntity>, CommerceBasketQueryOptionsBuilder>("Basket"); queryBaskets.SearchCriteria.Model.Properties["UserId"] = customerId.ToCommerceServerFormat(); queryBaskets.SearchCriteria.Model.Properties["BasketType"] = 1; queryBaskets.SearchCriteria.Model.Properties["OrderNumber"] = orderNumber; queryBaskets.QueryOptions.RefreshBasket = false; var queryLineItems = new CommerceQueryRelatedItem <CommerceEntity>("LineItems", "LineItem"); queryBaskets.RelatedOperations.Add(queryLineItems); var response = FoundationService.ExecuteRequest(queryBaskets.ToRequest()); if (response.OperationResponses.Count == 0) { return(null); } CommerceQueryOperationResponse basketResponse = response.OperationResponses[0] as CommerceQueryOperationResponse; return((PurchaseOrder)basketResponse.CommerceEntities[0]); }
public Basket ReadBasket(Guid userId, Guid cartId, bool runPipelines = false) { var queryBaskets = new CommerceQuery <CommerceEntity, CommerceModelSearch <CommerceEntity>, CommerceBasketQueryOptionsBuilder>("Basket"); queryBaskets.SearchCriteria.Model.Properties["UserId"] = userId.ToCommerceServerFormat(); queryBaskets.SearchCriteria.Model.Properties["BasketType"] = 0; queryBaskets.SearchCriteria.Model.Id = cartId.ToCommerceServerFormat(); queryBaskets.QueryOptions.RefreshBasket = runPipelines; var queryLineItems = new CommerceQueryRelatedItem <CommerceEntity>("LineItems", "LineItem"); queryBaskets.RelatedOperations.Add(queryLineItems); var response = FoundationService.ExecuteRequest(queryBaskets.ToRequest()); if (response.OperationResponses.Count == 0) { return(null); } CommerceQueryOperationResponse basketResponse = response.OperationResponses[0] as CommerceQueryOperationResponse; if (basketResponse.CommerceEntities.Count == 0) { return(null); } return((Basket)basketResponse.CommerceEntities[0]); }
public List <Basket> ReadAllBaskets(Guid userId, BasketType type, bool runPipelines = false) { var queryBaskets = new CommerceQuery <CommerceEntity, CommerceModelSearch <CommerceEntity>, CommerceBasketQueryOptionsBuilder>("Basket"); queryBaskets.SearchCriteria.Model.Properties["UserId"] = userId.ToCommerceServerFormat(); queryBaskets.SearchCriteria.Model.Properties["BasketType"] = 0; queryBaskets.SearchCriteria.Model.Properties["ListType"] = (int)type; queryBaskets.QueryOptions.RefreshBasket = runPipelines; var queryLineItems = new CommerceQueryRelatedItem <CommerceEntity>("LineItems", "LineItem"); queryBaskets.RelatedOperations.Add(queryLineItems); var response = FoundationService.ExecuteRequest(queryBaskets.ToRequest()); CommerceQueryOperationResponse basketResponse = response.OperationResponses[0] as CommerceQueryOperationResponse; return(basketResponse.CommerceEntities.Cast <CommerceEntity>().Where(b => b.Properties["ListType"].Equals((int)type)).Select(i => (Basket)i).ToList()); }