/// <summary> /// Gets an Order by number. /// </summary> /// <param name="param">The get order parameter.</param> /// <returns></returns> public virtual Task <Overture.ServiceModel.Orders.Order> GetOrderAsync(GetOrderParam param) { if (param == null) { throw new ArgumentNullException(nameof(param)); } if (string.IsNullOrWhiteSpace(param.Scope)) { throw new ArgumentException(GetMessageOfNullWhiteSpace(nameof(param.Scope)), nameof(param)); } if (string.IsNullOrWhiteSpace(param.OrderNumber)) { throw new ArgumentException(GetMessageOfNullWhiteSpace(nameof(param.OrderNumber)), nameof(param)); } var request = new GetOrderByNumberRequest { ScopeId = param.Scope, OrderNumber = param.OrderNumber, IncludeShipment = true, IncludeLineItems = true, IncludePayment = true }; return(OvertureClient.SendAsync(request)); }
/// <summary> /// 下载订单 /// </summary> public static void UpLoadOrder() { GetOrderParam getOrderParam = new GetOrderParam(); getOrderParam.orderId = 229560749877086919; //209934924621086919,213485383312086919 getOrderParam.includeFields = "GuaranteesTerms,NativeLogistics,RateDetail,OrderInvoice,OrderBizInfo,baseInfo,productItems"; // getOrderParam.GetRequestUrl(); HttpClientRequest httpClient = new HttpClientRequest(); string postData = string.Join("&", getOrderParam.m_DictParameters.Select(zw => zw.Key + "=" + zw.Value)); ResponseResult responseResult = httpClient.RequesResult(getOrderParam.URL, postData); if (responseResult.Success) { //进行序列化 if (!string.IsNullOrEmpty(responseResult.Result)) { try { GetOrdersResponse ordersResponse = JsonConvert.DeserializeObject <GetOrdersResponse>(responseResult.Result); if (ordersResponse != null) { } } catch (Exception ex) { string meg = ex.Message; } } } }
protected virtual async Task <OrderDetailViewModel> BuildOrderDetailViewModelAsync( Overture.ServiceModel.Orders.Order order, GetOrderParam getOrderParam) { var shipmentsNotes = await GetShipmentsNotes(order.Cart.Shipments, getOrderParam.Scope).ConfigureAwait(false); var orderChanges = await OrderRepository.GetOrderChangesAsync(new GetOrderChangesParam { OrderNumber = getOrderParam.OrderNumber, Scope = getOrderParam.Scope }).ConfigureAwait(false); var orderStatuses = await LookupService.GetLookupDisplayNamesAsync(new GetLookupDisplayNamesParam { CultureInfo = getOrderParam.CultureInfo, LookupType = LookupType.Order, LookupName = "OrderStatus", }).ConfigureAwait(false); var shipmentStatuses = await LookupService.GetLookupDisplayNamesAsync(new GetLookupDisplayNamesParam { CultureInfo = getOrderParam.CultureInfo, LookupType = LookupType.Order, LookupName = "ShipmentStatus", }).ConfigureAwait(false); var productImageInfo = new ProductImageInfo { ImageUrls = await ImageService.GetImageUrlsAsync(order.Cart.GetLineItems()).ConfigureAwait(false) }; var viewModel = OrderDetailsViewModelFactory.CreateViewModel(new CreateOrderDetailViewModelParam { Order = order, OrderChanges = orderChanges, OrderStatuses = orderStatuses, ShipmentStatuses = shipmentStatuses, CultureInfo = getOrderParam.CultureInfo, CountryCode = getOrderParam.CountryCode, ProductImageInfo = productImageInfo, BaseUrl = getOrderParam.BaseUrl, ShipmentsNotes = shipmentsNotes }); return(viewModel); }
protected virtual async Task <OrderDetailViewModel> BuildOrderDetailViewModelAsync( Overture.ServiceModel.Orders.Order order, GetOrderParam getOrderParam) { Helper.LineItemsHelper.PrepareGiftLineItems(order.Cart); var shipmentsNotes = await GetShipmentsNotes(order.Cart.Shipments, getOrderParam.Scope).ConfigureAwait(false); var orderChanges = await OrderRepository.GetOrderChangesAsync(new GetOrderChangesParam { OrderNumber = getOrderParam.OrderNumber, Scope = getOrderParam.Scope }).ConfigureAwait(false); var orderCartDrafts = await GetOrderCartDrafts(getOrderParam.Scope, Guid.Parse(order.CustomerId), getOrderParam.CultureInfo).ConfigureAwait(false); var orderStatuses = await LookupService.GetLookupDisplayNamesAsync(new GetLookupDisplayNamesParam { CultureInfo = getOrderParam.CultureInfo, LookupType = LookupType.Order, LookupName = "OrderStatus", }).ConfigureAwait(false); var shipmentStatuses = await LookupService.GetLookupDisplayNamesAsync(new GetLookupDisplayNamesParam { CultureInfo = getOrderParam.CultureInfo, LookupType = LookupType.Order, LookupName = "ShipmentStatus", }).ConfigureAwait(false); var productImageInfo = new ProductImageInfo { ImageUrls = await ImageService.GetImageUrlsAsync(order.Cart.GetLineItems()).ConfigureAwait(false) }; var viewModel = OrderDetailsViewModelFactory.CreateViewModel(new CreateOrderDetailViewModelParam { Order = order, OrderChanges = orderChanges, OrderStatuses = orderStatuses, ShipmentStatuses = shipmentStatuses, CultureInfo = getOrderParam.CultureInfo, CountryCode = getOrderParam.CountryCode, ProductImageInfo = productImageInfo, BaseUrl = getOrderParam.BaseUrl, ShipmentsNotes = shipmentsNotes, OrderCartDrafts = orderCartDrafts }); viewModel.OrderInfos.IsOrderEditable = await EditingOrderProvider.CanEdit(order).ConfigureAwait(false); viewModel.OrderInfos.IsBeingEdited = EditingOrderProvider.IsBeingEdited(order); var orderCancellationStatus = await EditingOrderProvider.GetCancellationStatus(order).ConfigureAwait(false); viewModel.OrderInfos.IsOrderCancelable = orderCancellationStatus.CanCancel; viewModel.OrderInfos.IsOrderPendingCancellation = orderCancellationStatus.CancellationPending; if (order.Cart.PropertyBag.TryGetValue("PickedItems", out var pickedItemsObject)) { var pickedItemsList = ComposerJsonSerializer.Deserialize <List <PickedItemViewModel> >(pickedItemsObject.ToString()); var shipment = viewModel.Shipments.First(); shipment.LineItems = await ProcessPickedLineItemsAsync(pickedItemsList, shipment.LineItems, getOrderParam.CultureInfo).ConfigureAwait(false); } ; return(viewModel); }