private void OnSignal(object sender, Session.SignalEventArgs e) => RaiseMessageReceived(e.P2);
private void OnSignal(object sender, Session.SignalEventArgs e) { try { messagesOpentok = JsonConvert.DeserializeObject <MessagesOpentok>(e.P2); if (e.P1 == "infoCall") { _medicalVideoCall.LoadCallHistoryId(messagesOpentok); _medicalVideoCall.ServiceDate = messagesOpentok.ServiceDate; _medicalVideoCall.ServiceNumber = messagesOpentok.ServiceNumber; } if (!String.IsNullOrEmpty(messagesOpentok.from)) { _medicalVideoCall.VideoCallStatusAsync(messagesOpentok.type, messagesOpentok.info?.doctorName, true); } if (e.P1.Equals("call") && messagesOpentok.type == 1 && e.P0.Connection.ConnectionId != e.P3.ConnectionId) { InvitedConnection = e.P3; } if (e.P1.Equals("file")) { if (messagesOpentok.status == 3) { _medicalVideoCall.EnableUpload = true; } else if (messagesOpentok.status == 2) { _medicalVideoCall.EnableUpload = false; } } SendMessageAsync($"{{\"msg\":\"OK\",\"type\":1}}", "chat", true); SendMessageAsync($"{{\"status\":1}}", "file", true); if (e.P1.Equals("chat")) { MessageChatViewModel message; if (messagesOpentok.type == 2) { message = new MessageChatViewModel { Text = messagesOpentok.msg, User = "******", CompleteName = $"Dr. {_medicalVideoCall.DoctorName}", IsFile = false }; _medicalVideoCall.EnableChat = true; _medicalVideoCall.Messages.Insert(0, message); } else if (messagesOpentok.type == 3) { message = new MessageChatViewModel { UrlFile = messagesOpentok.UrlFile, Text = messagesOpentok.msg, User = "******", CompleteName = $"Dr. {_medicalVideoCall.DoctorName}", IsFile = true }; _medicalVideoCall.EnableChat = true; _medicalVideoCall.Messages.Insert(0, message); } } RaiseMessageReceived(e.P2); } catch (Exception ex) { ServiceLocator.Current.GetInstance <IExceptionService>().RegisterException(ex); } }