private Message ProcessMessage(Message message) { var response = new Message(); Logger.Info("Request action: {0}", message.Type); Logger.Debug("Request data: {0}", message.Data); switch (message.Type) { case MessageType.GetInventory: // get equipment list response.Data = _service.GetInventoryList(); response.Status = MessageStatus.Success; break; case MessageType.ConfirmCart: // create invoice, calculate prices and loyalty points var cart = message.Data as CartDto; if (cart != null) { response.Data = _service.ConfirmCart(cart); response.Status = MessageStatus.Success; } else { response.Data = string.Format("Message data is unknown; Type: {0}, ToString(): {1}", message.Data.GetType(), message.Data); response.Status = MessageStatus.Error; } break; default: response.Data = string.Format("Unknown message type: {0}", message.Type); response.Status = MessageStatus.Error; break; } return(response); }