public Task ReceivedOnLocation_NotifyRiba( [QueueTrigger(QueueNames.ReceivedOnLocationNotifyRiba)] PurchaseOrderReceiptEvent message) { return(Task.Run(() => { _ribaQueueProcessor.Execute(message); })); }
private void NotifyReceivedPurchaseOrders() { _log.Info("Searching for received purchase orders"); var criteria = new PerpetualInventoryTransactionCriteria() { ProcessType = ProcessType.PurchaseOrderReceiptNotification, TransactionType = TransactionType.QuantityAdjust }; var poReceiptRecords = _repository.FindPerpetualInventoryTransfers(criteria); var adjustmentsToIgnore = poReceiptRecords.Where(adj => String.IsNullOrWhiteSpace(adj.Ponumber)).ToList(); MarkNotificationRecordsAsProcessed(adjustmentsToIgnore, ProcessType.PurchaseOrderReceiptNotification); var recordsWithPos = poReceiptRecords.Except(adjustmentsToIgnore).ToList(); var distinctPos = recordsWithPos.Select(item => item.Ponumber).Distinct().ToList(); foreach (var poNumber in distinctPos) { var receiptRecord = recordsWithPos.First(r => r.Ponumber == poNumber); var inventoryAdjustmentsForPo = _repository.FindPerpetualInventoryTransfers( new PerpetualInventoryTransactionCriteria() { ProcessType = ProcessType.PurchaseOrderReceiptNotification, PurchaseOrderNumber = poNumber, TransactionType = TransactionType.InventoryAdjustment }); var firstPoInventoryAdjustment = recordsWithPos .Where(r => r.Ponumber == poNumber) .OrderBy(r => MainframeExtensions.ParseDateTime(r.DateCreated, r.TimeCreated)) .First(); var receiptList = SumPixItems(inventoryAdjustmentsForPo); var receipt = new PurchaseOrderReceiptEvent( firstPoInventoryAdjustment.Ponumber, MainframeExtensions.ParseDateTime(firstPoInventoryAdjustment.DateCreated, firstPoInventoryAdjustment.TimeCreated), receiptList ); try { _apiAccess.PurchaseOrderReceived(receipt); } catch (Exception ex) { _log.Exception("Failed to notify service of PO Receipt", ex); } var toMarkComplete = inventoryAdjustmentsForPo.Concat(new[] { receiptRecord }).ToList(); MarkNotificationRecordsAsProcessed(toMarkComplete, ProcessType.PurchaseOrderReceiptNotification); } }
public void PurchaseOrderReceived(PurchaseOrderReceiptEvent purchaseOrderReceiptEvent) { _logger.DumpInfo <PurchaseOrderEventHandler>(purchaseOrderReceiptEvent); _queue.QueueWorkItem(QueueNames.ReceivedOnLocationNotifyRiba, purchaseOrderReceiptEvent); }
public void PurchaseOrderReceived(PurchaseOrderReceiptEvent purchaseOrderReceiptEvent) { var request = ConstructPostRequest("Order/ReceivedOnLocation", purchaseOrderReceiptEvent); Execute <object>(request); }
public void LocationReceived(PurchaseOrderReceiptEvent purchaseOrderReceiptEvent) { }
public void PurchaseOrderReceived(PurchaseOrderReceiptEvent purchaseOrderReceiptEvent) { _poEventHandler.PurchaseOrderReceived(purchaseOrderReceiptEvent); }