private void Current_OrderGroupUpdated(object sender, OrderGroupEventArgs e) { if (e.OrderGroupType != OrderGroupEventType.PurchaseOrder) { return; } var orderAfterSave = sender as IPurchaseOrder; if (orderAfterSave == null) { return; } if (ShouldProcessVoid(orderAfterSave)) { var payment = orderAfterSave.GetFirstForm().Payments.FirstOrDefault(x => x.PaymentMethodName.Equals(NetaxeptConstants.NetaxeptSystemKeyword, StringComparison.InvariantCultureIgnoreCase)); if (payment == null) { return; } CancelPayment(orderAfterSave, payment); } }
private void Current_OrderGroupUpdated(object sender, OrderGroupEventArgs e) { var orderRepository = _locator.GetInstance <IOrderRepository>(); if (e.OrderGroupType != OrderGroupEventType.PurchaseOrder) { return; } var orderAfterSave = sender as IPurchaseOrder; var orderBeforeSave = orderRepository.Load <IPurchaseOrder>(e.OrderGroupId); if (orderBeforeSave == null || orderAfterSave == null) { return; } // multi shipment scenario. Call payment gateway to release remaining authorization if (IsReleaseRemaining(orderBeforeSave, orderAfterSave)) { var reseaseRemainingEventHandler = _locator.GetInstance <ReleaseRemainingEventHandler>(); reseaseRemainingEventHandler.Handle(new ReleaseRemainingEvent(orderAfterSave)); } if (orderAfterSave.OrderStatus == OrderStatus.Cancelled) { var orderCancelledEventHandler = _locator.GetInstance <OrderCancelledEventHandler>(); orderCancelledEventHandler.Handle(new OrderCancelledEvent(orderAfterSave)); } }
// ...this one is old, have IOrderRepositoryCallback public static void RecordOrderGroupEvent(object sender, OrderGroupEventArgs e) { var o = sender.GetType(); var e1 = e.OrderGroupId; var e2 = e.OrderGroupType; BfEventManager.SendToBF("OrderGroup", e1.ToString(), o.ToString()); }
/// <summary> /// Adding lineitem entries to Sannsyn. Since OrderGroupUpdated is called often, we add last /// order indexed in DDS, so we don't index duplicate orders. All code is in a try, then the order /// will still be completed if error occures when calling sannsyn or DDS /// </summary> /// <param name="order"></param> /// <param name="e"></param> private void GenerateSannsynData(OrderGroup order, OrderGroupEventArgs e) { if (order.Status.Equals("InProgress")) { try { SannsynDdsModel lastOrderIndexed = SannsynDdsModel.GetLastOrderIndexed(); if (lastOrderIndexed.LastIndexedOrderId < order.OrderGroupId) { ISannsynOrderIndexerService sannsynOrderIndexerService = ServiceLocator.Current.GetInstance <ISannsynOrderIndexerService>(); sannsynOrderIndexerService.AddLineItemsToSannsyn(order); lastOrderIndexed.LastIndexedOrderId = order.OrderGroupId; lastOrderIndexed.Save(); } } catch (Exception ex) { _log.Error("Could not add order items to Sannsyn", ex); } } }
private void Current_OrderGroupUpdated(object sender, OrderGroupEventArgs e) { var orderRepository = _locator.GetInstance <IOrderRepository>(); if (e.OrderGroupType != OrderGroupEventType.PurchaseOrder) { return; } var orderAfterSave = sender as IPurchaseOrder; var orderBeforeSave = orderRepository.Load <IPurchaseOrder>(e.OrderGroupId); if (orderBeforeSave == null || orderAfterSave == null) { return; } if (orderAfterSave.OrderStatus.Equals(OrderStatus.Cancelled)) { var orderCancelledEventHandler = _locator.GetInstance <OrderCancelledEventHandler>(); orderCancelledEventHandler.Handle(new OrderCancelledEvent(orderAfterSave)); } }
void Current_OrderGroupUpdated(object sender, OrderGroupEventArgs e) { EventReciever.RecordOrderGroupEvent(sender, e); }
private void OnOrderGroupUpdated(object sender, OrderGroupEventArgs e) { var orderGroup = sender as OrderGroup; WebHookManager.NotifyAllAsync(EventNames.OrderGroupUpdated, new { e.OrderGroupId, e.OrderGroupType, OrderGroup = orderGroup }); }
private void Current_OrderGroupUpdated(object sender, OrderGroupEventArgs e) { GenerateSannsynData(sender as OrderGroup, e); }