private static LisResult ParseReadResultResponse(HttpResponseMessage webResponse) { if (webResponse == null) { return new LisResult { IsValid = false, Message = "Invalid webResponse" }; } var stream = webResponse.GetResponseStream(); if (stream == null) { return new LisResult { IsValid = false, Message = "Invalid stream" }; } var imsxEnvelope = (imsx_POXEnvelopeType)ImsxResponseSerializer.Deserialize(stream); var imsxHeader = (imsx_ResponseHeaderInfoType) imsxEnvelope.imsx_POXHeader.Item; var imsxStatus = imsxHeader.imsx_statusInfo.imsx_codeMajor; if (imsxStatus != imsx_CodeMajorType.success) { return new LisResult { IsValid = false, Message = imsxHeader.imsx_statusInfo.imsx_description}; } var imsxBody = (readResultResponse) imsxEnvelope.imsx_POXBody.Item; if (imsxBody?.result == null) { return new LisResult { Score = null, IsValid = true }; } double result; if (double.TryParse(imsxBody.result.resultScore.textString, out result)) { return new LisResult { Score = result, IsValid = true }; } return new LisResult { Score = null, IsValid = true }; }
private static BasicResult ParsePostResultResponse(HttpResponseMessage webResponse) { if (webResponse == null) return new BasicResult(false, "Invalid webResponse"); var stream = webResponse.GetResponseStream(); if (stream == null) return new BasicResult(false, "Invalid stream"); var imsxEnvelope = ImsxResponseSerializer.Deserialize(stream) as imsx_POXEnvelopeType; if (imsxEnvelope == null) return new BasicResult(false, "Invalid imsxEnvelope"); var imsxHeader = imsxEnvelope.imsx_POXHeader.Item as imsx_ResponseHeaderInfoType; if (imsxHeader == null) return new BasicResult(false, "Invalid imsxHeader"); var imsxStatus = imsxHeader.imsx_statusInfo.imsx_codeMajor; return new BasicResult(imsxStatus == imsx_CodeMajorType.success, imsxHeader.imsx_statusInfo.imsx_description); }