public SannsynAdminController(ISannsynCatalogIndexService sannsynCatalogIndexService, ISannsynOrderIndexerService sannsynOrderIndexerService, ISannsynAdminService sannsynAdminService) { _sannsynCatalogIndexService = sannsynCatalogIndexService; _sannsynOrderIndexerService = sannsynOrderIndexerService; _sannsynAdminService = sannsynAdminService; }
/// <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); } } }