/// <summary> /// Extracting event from the json. /// </summary> /// <param name="content"></param> /// <returns></returns> public CallingServerEventBase ExtractEvent(string content) { CloudEvent cloudEvent = CloudEvent.Parse(BinaryData.FromString(content)); if (cloudEvent != null && cloudEvent.Data != null) { if (cloudEvent.Type.Equals(CallingServerEventType.CallConnectionStateChangedEvent.ToString())) { return(CallConnectionStateChangedEvent.Deserialize(cloudEvent.Data.ToString())); } else if (cloudEvent.Type.Equals(CallingServerEventType.ToneReceivedEvent.ToString())) { return(ToneReceivedEvent.Deserialize(cloudEvent.Data.ToString())); } else if (cloudEvent.Type.Equals(CallingServerEventType.PlayAudioResultEvent.ToString())) { return(PlayAudioResultEvent.Deserialize(cloudEvent.Data.ToString())); } else if (cloudEvent.Type.Equals(CallingServerEventType.AddParticipantResultEvent.ToString())) { return(AddParticipantResultEvent.Deserialize(cloudEvent.Data.ToString())); } } return(null); }
public void ToneReceivedEventTest() { var json = "{\"toneInfo\":{\"sequenceId\":1,\"tone\":\"A\"},\"callConnectionId\": \"8e6ff9fd-dd81-47f9-963a-1989bb95779c\"}"; var c = ToneReceivedEvent.Deserialize(json); Assert.AreEqual("8e6ff9fd-dd81-47f9-963a-1989bb95779c", c.CallConnectionId); Assert.IsNotNull(c.ToneInfo); Assert.AreEqual(1, c.ToneInfo.SequenceId); Assert.AreEqual(ToneValue.A, c.ToneInfo.Tone); }