private void ProcessOrderStateChangeNotification(string xmlData) { try { var changeOrder = (OrderStateChangeNotification)EncodeHelper.Deserialize(xmlData, typeof(OrderStateChangeNotification)); FinancialOrderState orderState = changeOrder.newfinancialorderstate; Order order = GetMerchantOrderByGoogleOrderId(changeOrder.googleordernumber); if (order != null) { string message = string.Format("Order status {0} from Google: Order Number {1}", orderState, changeOrder.googleordernumber); LogMessage(message); //add a note order.OrderNotes.Add(new OrderNote() { Note = message, CreatedOnUtc = DateTime.UtcNow }); _orderService.UpdateOrder(order); if (orderState == FinancialOrderState.CHARGING || orderState == FinancialOrderState.REVIEWING) { } if (orderState == FinancialOrderState.CHARGEABLE) { _orderProcessingService.MarkAsAuthorized(order); } if (orderState == FinancialOrderState.CHARGED) { _orderProcessingService.MarkOrderAsPaid(order); } if (orderState == FinancialOrderState.CANCELLED || orderState == FinancialOrderState.CANCELLED_BY_GOOGLE) { _orderProcessingService.CancelOrder(order, true); } } } catch (Exception exc) { LogMessage("processOrderStateChangeNotification Exception: " + exc.Message + ": " + exc.StackTrace); } }
private void processOrderStateChangeNotification(string xmlData) { try { OrderStateChangeNotification changeOrder = (OrderStateChangeNotification)EncodeHelper.Deserialize(xmlData, typeof(OrderStateChangeNotification)); FinancialOrderState orderState = changeOrder.newfinancialorderstate; Order order = getMerchantOrderByGoogleOrderID(changeOrder.googleordernumber); if (order != null) { string message = string.Format("Order status {0} from Google: Order Number {1}", orderState, changeOrder.googleordernumber); logMessage(message); OrderManager.InsertOrderNote(order.OrderId, message, false, DateTime.Now); if (orderState == FinancialOrderState.CHARGING || orderState == FinancialOrderState.REVIEWING) { } if (orderState == FinancialOrderState.CHARGEABLE) { order = OrderManager.MarkAsAuthorized(order.OrderId); } if (orderState == FinancialOrderState.CHARGED) { order = OrderManager.MarkOrderAsPaid(order.OrderId); } if (orderState == FinancialOrderState.CANCELLED || orderState == FinancialOrderState.CANCELLED_BY_GOOGLE) { order = OrderManager.CancelOrder(order.OrderId, true); } } } catch (Exception exc) { logMessage("processOrderStateChangeNotification Exception: " + exc.Message + ": " + exc.StackTrace); } }