public void Post(int grupoUsuarioId, [FromBody] Models.Mensagem m) { Models.ZipZopDataContext dc = new Models.ZipZopDataContext(); var user_ids = dc.Usuarios.Where(u => u.GrupoUsuarios.Any(gu => gu.Id == grupoUsuarioId)); foreach (Models.Usuario us in user_ids) { sendMessage(m, us.Uri); } }
public void Post(NovaMensagem novaMensagem) { using (var contexto = new Contexto()) { var contatoModelo = contexto.Contatos .Where(x => x.Id == novaMensagem.IdContato) .Single(); var mensagemModelo = new Models.Mensagem() { Descricao = novaMensagem.Descricao, Contato = contatoModelo, DataHora = DateTime.Now }; contexto.Mensagens.Add(mensagemModelo); contexto.SaveChanges(); } }
public void Post([FromBody] Models.Mensagem mensagem) { Models.Mensagem m = mensagem; // Mensagem: toast notification string msg = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + "<wp:Notification xmlns:wp=\"WPNotification\">" + "<wp:Toast>" + "<wp:Text1>" + m.Texto1 + "</wp:Text1>" + "<wp:Text2>" + m.Texto2 + "</wp:Text2>" + "<wp:Param>/" + m.Param + "?Msg1=" + m.Texto1 + "&Msg2=" + m.Texto2 + "</wp:Param>" + "</wp:Toast>" + "</wp:Notification>"; // byte[] msgBytes = new UTF8Encoding().GetBytes(msg); byte[] msgBytes = Encoding.Default.GetBytes(msg); // create a web request that identifies the payload as a toast notification // Cria a requisição para a Uri selecionada HttpWebRequest request = (HttpWebRequest)WebRequest.Create(m.Uri); request.Method = "Post"; request.ContentType = "text/xml"; request.ContentLength = msg.Length; request.Headers["X-MessageID"] = Guid.NewGuid().ToString(); request.Headers["X-WindowsPhone-Target"] = "toast"; request.Headers["X-NotificationClass"] = "2"; // Envia a requisição using (Stream requestStream = request.GetRequestStream()) { requestStream.Write(msgBytes, 0, msgBytes.Length); } }
public void Enviar(string uri, [FromBody] string conteudo) { Models.Mensagem mensagem = JsonConvert.DeserializeObject <Models.Mensagem>(conteudo); Models.WhatsappDataContext dc = new Models.WhatsappDataContext(); try { HttpWebRequest sendNotificationRequest = (HttpWebRequest)WebRequest.Create(uri); sendNotificationRequest.Method = "POST"; string toastMessage = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + "<wp:Notification xmlns:wp=\"WPNotification\">" + "<wp:Toast>" + "<wp:Text1>" + mensagem.Remetente + "</wp:Text1>" + "<wp:Text2>" + mensagem.Conteudo + "</wp:Text2>" + "<wp:Param>/Usuario/LerMsg.xaml?NavigatedFrom=Toast Notification</wp:Param>" + "</wp:Toast> " + "</wp:Notification>"; byte[] notificationMessage = Encoding.Default.GetBytes(toastMessage); // Set the web request content length. sendNotificationRequest.ContentLength = notificationMessage.Length; sendNotificationRequest.ContentType = "text/xml"; sendNotificationRequest.Headers.Add("X-WindowsPhone-Target", "toast"); sendNotificationRequest.Headers.Add("X-NotificationClass", "2"); using (Stream requestStream = sendNotificationRequest.GetRequestStream()) { requestStream.Write(notificationMessage, 0, notificationMessage.Length); } } catch (Exception) { throw; } }