public void OnOrderReceived(OrderData order) { print("In come order : " + order); // Check if null will exit. if (null == order) { print("Order = null !"); return; } // Init object. ConcurrentDictionary <string, OrderData> slaveOrders = null; if (null == msgController.GetSlaveOrders()) { // Init on controller. msgController.InitSlaveOrders(); // Get instance of Slave order again. slaveOrders = msgController.GetSlaveOrders(); } // Get order ID. var orderId = order.OrderId; // Check if order ID existed. if (slaveOrders.ContainsKey(orderId)) { print("Order " + orderId + " existed."); // Checking order status. if (order.Status == StatusType.Running) { // Replace order data to key. slaveOrders[orderId] = order; } else { // Removing order data. OrderData removeOrder = null; // Init temp holder. slaveOrders.TryRemove(orderId, out removeOrder); // Removing order data from order ID. print("Removed order : " + removeOrder.OrderId); removeOrder = null; // deassign. } } else { // Add new order data slaveOrders.TryAdd(orderId, order); print("Added order : " + orderId); } }