private async System.Threading.Tasks.Task <Object> sendCloudMessageAsync(String storeId, TransactionDto dto, String header, String content) { List <Staff> stafts = db.Staff.Where(s => s.StoreId == storeId && s.DeviceToken != null).ToList(); if (stafts.Count == 0) { return(false); } List <string> deviceTokens = new List <string>(); foreach (Staff a in stafts) { deviceTokens.Add(a.DeviceToken); } DataMessage notif = new DataMessage() { registration_ids = deviceTokens, data = dto, notification = new Notification(header, content) }; var request = new HttpRequestMessage(HttpMethod.Post, url); request.Headers.TryAddWithoutValidation("Authorization", "key =" + serverKey); String jsonMessage = Newtonsoft.Json.JsonConvert.SerializeObject(notif); request.Content = new StringContent(jsonMessage, Encoding.UTF8, "application/json"); HttpResponseMessage result; using (var client = new HttpClient()) { result = await client.SendAsync(request); if (result.IsSuccessStatusCode) { try { string data = await result.Content.ReadAsStringAsync(); SendNotificationResponseDto routes_list = JsonConvert.DeserializeObject <SendNotificationResponseDto>(data); if (routes_list.success == 0) { return(false); } return(true); } catch (Exception e) { return(e.Message); } } } return(false); }
public async Task <Object> testNotification() { DetailDto dto = new DetailDto("123", "huy"); DataMessage notif = new DataMessage() { registration_ids = new List <string>() { token }, data = dto, notification = new Notification("title", "text") }; /*HttpClient httpClient = new HttpClient(); * httpClient.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "key=" + serverKey); * httpClient.DefaultRequestHeaders.TryAddWithoutValidation("sender", "id=869021479080"); * string data = JsonConvert.SerializeObject(notif); * HttpContent content = new StringContent(data, Encoding.UTF8, "application/json"); * * HttpResponseMessage respone = await httpClient.PostAsync(url, content); * * if (respone.IsSuccessStatusCode) * { * String result = await respone.Content.ReadAsStringAsync(); * return result; * } * * return respone.ToString();*/ var request = new HttpRequestMessage(HttpMethod.Post, url); request.Headers.TryAddWithoutValidation("Authorization", "key =" + serverKey); String jsonMessage = JsonConvert.SerializeObject(notif); request.Content = new StringContent(jsonMessage, Encoding.UTF8, "application/json"); HttpResponseMessage result; using (var client = new HttpClient()) { result = await client.SendAsync(request); if (result.IsSuccessStatusCode) { try { string data = await result.Content.ReadAsStringAsync(); SendNotificationResponseDto routes_list = JsonConvert.DeserializeObject <SendNotificationResponseDto>(data); return(routes_list); }catch (Exception e) { return(e.Message); } } string results = await result.Content.ReadAsStringAsync(); return(results.ToString()); } }