public async Task <bool> UpdateOrderItemPickLocations(IEnumerable <ItemLocationUpdateModel> orderitemlist, CancellationToken ctx, Mark mark) { string logPrefix; var requestResults = await orderitemlist.ProcessInBatchAsync(20, async updateModel => { var request = this._requestService.CreateUpdatePickLocationRequest(updateModel); logPrefix = TrueShipLogger.CreateMethodCallInfo(request.GetRequestUri(), mark, payload: updateModel.Location.ToJson()); try { this._logservice.LogTrace(logPrefix, string.Format("Started sending request to update item {0} location to {1}", updateModel.Sku, updateModel.Location.Location)); var response = await this._webRequestServices.SubmitPatch(request, logPrefix, ctx).ConfigureAwait(false); this._logservice.LogTrace(logPrefix, string.Format("Got response for item {0}, result: {1}", updateModel.Resource, response.StatusCode)); if (response.StatusCode == HttpStatusCode.Unauthorized) { throw new TrueShipAuthException("Unauthorized", new Exception()); } } catch (WebException) { return(false); } return(true); }); return(requestResults.All(x => x)); }
public async Task <IEnumerable <OrderResource.TrueShipOrder> > GetUnshippedOrdersAsync(string organizationKey, DateTime dateTo, CancellationToken ct, Mark mark) { var request = this._requestService.CreateGetUnshippedOrdersRequest(organizationKey, dateTo); var logPrefix = TrueShipLogger.CreateMethodCallInfo(request.GetRequestUri(), mark); var result = (await this._paginationService.GetPaginatedResult <OrderResource.TrueShipOrder>(request, logPrefix, ct).ConfigureAwait(false)).ToList(); this._logservice.LogTrace(logPrefix, string.Format("Done. Retrieved {0} orders: {1}, for organization {2}", result.Count, result.ToJson(), organizationKey)); return(result); }
public IEnumerable <OrderResource.TrueShipOrder> GetOrders(string organizationKey, DateTime dateFrom, DateTime dateTo, Mark mark) { var request = this._requestService.CreateGetOrdersRequest(organizationKey, dateFrom, dateTo); var logPrefix = TrueShipLogger.CreateMethodCallInfo(request.GetRequestUri(), mark); var result = (this._paginationService.GetPaginatedResultBlocking <OrderResource.TrueShipOrder>(request, logPrefix)).ToList(); this._logservice.LogTrace(logPrefix, string.Format("Done. Retrieved {0} orders: {1}, for organization {2}", result.Count, result.ToJson(), organizationKey)); return(result); }
public async Task <IEnumerable <OrganizationResource.TrueShipOrganization> > GetActiveOrganizationsAsync(CancellationToken ct, Mark mark) { var request = this._requestService.CreateGetOrganizationsRequest(); var logPrefix = TrueShipLogger.CreateMethodCallInfo(request.GetRequestUri(), mark); var result = (await this._paginationService.GetPaginatedResult <OrganizationResource.TrueShipOrganization>(request, logPrefix, ct).ConfigureAwait(false)).ToList(); this._logservice.LogTrace(logPrefix, string.Format("Done. Retrieved {0} organizations: {1}", result.Count, result.ToJson())); return(result.Where(o => !o.IsDeleted).ToList()); }