Example #1
0
        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));
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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());
        }