public static void dispatch(JObject jobj, ExternalMessageSender.RequestResponder reqResponder, VersionedModelClassNS.VersionedModelClass versionedModel) { string type = jobj["type"].ToString(); if (type == "request_model_changes") { versionedModel.recordModel(); ModelChangeReqResponseNS.ModelChangeReqResponse reqResponse = ModelChangeRequest.dispatch(versionedModel.getCurrent(), jobj); reqResponder.sendModelChangeReqResponse(reqResponse); ExternalMessageSender.DataChangedNotifier.notifyDataChanged(ModelUtilsNS.ModelUtils.getResponseJsonData(versionedModel.getCurrent())); } else if (type == "request_versioning_change") { ModelVersioningReqResponses.ModelVersioningReqResponse reqResponse = VersioningChangeRequest.dispatch(jobj, versionedModel); reqResponder.sendVersioningChangeReqResponse(reqResponse); ExternalMessageSender.DataChangedNotifier.notifyDataChanged(ModelUtilsNS.ModelUtils.getResponseJsonData(versionedModel.getCurrent())); } else if (type == "request_model_info") { ModelInfoReqResponses.ModelInfoReqResponse reqResponse = ModelInfoRequest.dispatch(jobj, reqResponder, versionedModel); reqResponder.sendModelInfoReqResponse(reqResponse); } else { throw new InvalidModelReqType(type); } }
public static void dispatch(JObject jobj, VersionedModelClassNS.VersionedModelClass versionedModel) { string clientId = jobj["client_id"].ToString(); string requestId = jobj["client_message"]["requestId"].ToString(); JObject clientRequest = jobj["client_message"]["request"] as JObject; ExternalMessageSender.RequestResponder reqResponder = new ExternalMessageSender.RequestResponder( requestId, clientId ); ModelRequests.Dispatcher.dispatch(clientRequest, reqResponder, versionedModel); }