internal Task SendResponseAsync(StockDeliverySetResponse response, CancellationToken cancellationToken = default) { return(this.SendResponseAsync(response, () => { return this.Dialog.SendResponseAsync(response, cancellationToken); })); }
internal void SendResponse(StockDeliverySetResponse response) { this.SendResponse(response, () => { this.Dialog.SendResponse(response); }); }
public async Task <IStockDeliverySetFinishedProcessState> StartProcessAsync(IEnumerable <StockDelivery> deliveries, CancellationToken cancellationToken = default) { StockDeliverySetRequest request = this.CreateRequest(deliveries); StockDeliverySetResponse response = await this.SendRequestAsync(request, () => { return(this.Dialog.SendRequestAsync(request, cancellationToken)); }).ConfigureAwait(continueOnCapturedContext: false); return(new StockDeliverySetFinishedProcessState(request, response)); }
public IStockDeliverySetFinishedProcessState StartProcess(IEnumerable <StockDelivery> deliveries) { StockDeliverySetRequest request = this.CreateRequest(deliveries); StockDeliverySetResponse response = this.SendRequest(request, () => { return(this.Dialog.SendRequest(request)); }); return(new StockDeliverySetFinishedProcessState(request, response)); }
public StockDeliverySetFinishedProcessState(StockDeliverySetRequest request, StockDeliverySetResponse response) { this.Request = request; this.Response = response; }
public Task SendResponseAsync(StockDeliverySetResponse response, CancellationToken cancellationToken = default) { return(base.SendResponseAsync(response, cancellationToken)); }
public void SendResponse(StockDeliverySetResponse response) { base.SendResponse(response); }
public void ProcessStockDeliverySetRequest(StockDeliverySetRequest stockDeliverySetRequest) { if (this.stockDeliveryResult) { // fix tenant foreach (StockDelivery stockDelivery in stockDeliverySetRequest.StockDeliveries) { if (String.IsNullOrEmpty(stockDelivery.TenantID)) // if PMR doesn't set the tenant, default it to the PMR tenant. { stockDelivery.TenantID = stockDeliverySetRequest.TenantID; } foreach (StockDeliveryItem stockDeliveryItem in stockDelivery.Items) { if (String.IsNullOrEmpty(stockDeliveryItem.TenantID)) // if PMR doesn't set the tenant, default it to the PMR tenant. { stockDeliveryItem.TenantID = stockDeliverySetRequest.TenantID; } } } // check if delivery is already know foreach (StockDelivery newStockDelivery in stockDeliverySetRequest.StockDeliveries) { bool addDelivery = true; foreach (StockDelivery existingStockDelivery in this.stockDeliveryList) { if (existingStockDelivery.DeliveryNumber == newStockDelivery.DeliveryNumber) { // if delivery existe if ((existingStockDelivery.State == StockDeliveryState.Queued) || (existingStockDelivery.State == StockDeliveryState.InProcess)) { // and is not finished, update it addDelivery = false; foreach (StockDeliveryItem newStockDeliveryItem in newStockDelivery.Items) { bool foundItem = false; foreach (StockDeliveryItem existingStockDeliveryItem in existingStockDelivery.Items) { if (existingStockDeliveryItem.ArticleCode == newStockDeliveryItem.ArticleCode) { foundItem = true; existingStockDeliveryItem.RequestedQuantity = newStockDeliveryItem.RequestedQuantity; #warning should copy more } } if (!foundItem) { existingStockDelivery.Items.Add(newStockDeliveryItem); } } } break; } } if (addDelivery) { // add not existing delivery this.stockDeliveryList.Add(newStockDelivery); } } this.DoStockDeliveryUpdated(); } StockDeliverySetResponse stockDeliverySetResponse = new StockDeliverySetResponse(stockDeliverySetRequest.ConverterStream); stockDeliverySetResponse.AdoptHeader(stockDeliverySetRequest); stockDeliverySetResponse.SetResult = this.stockDeliveryResult; stockDeliverySetResponse.SetResultText = this.stockDeliveryResultText; stockDeliverySetResponse.ConverterStream.Write(stockDeliverySetResponse); }