private void SalvarMensagem(MensagemVO vo){ mensagem msg = new mensagem(); msg.id = Guid.NewGuid(); msg.id_usuario = new Guid(vo.IdUsuario); msg.id_conversa = new Guid(vo.IdConversa); msg.texto = vo.Texto; msg.dt_envio = DateTime.Now; bool ehProfessor = false; using (Modelo db = new Modelo()) { db.mensagem.Add(msg); db.SaveChanges(); usuario u = db.usuario.Where(usu => usu.id.ToString() == vo.IdUsuario).FirstOrDefault(); ehProfessor = u.tipo == "P"; } if (ehProfessor) EnviarNotificacao(vo); else EnviarMensagemNoSocket(vo); }
private void EnviarMensagemParaClienteWeb(MensagemVO msg) { JavaScriptSerializer jss = new JavaScriptSerializer(); var outputBuffer = new ArraySegment<byte>(Encoding.UTF8.GetBytes(jss.Serialize(msg))); //terminar /*foreach (WebSocket s in sockets) s.SendAsync(outputBuffer, WebSocketMessageType.Text, true, CancellationToken.None);*/ }
public void EnviarMensagemNoSocket(MensagemVO vo) { usuario professor = null; using (Modelo db = new Modelo()) { conversa c = db.conversa.Find(vo.IdConversa); professor = c.usuario.Where(u => u.id.ToString() != vo.IdUsuario).FirstOrDefault(); } WebSocket socket = null; sockets.TryGetValue(professor.id.ToString(), out socket); ArraySegment<byte> buffer = new ArraySegment<byte>(Encoding.UTF8.GetBytes(vo.Texto)); socket.SendAsync(buffer, WebSocketMessageType.Text, true, CancellationToken.None); }
public void EnviarNotificacao(MensagemVO vo) { //notificação push para o app }