public async static void Push(NotiNumber notiNumber, string datas, bool isSilent) { var request = WebRequest.Create("https://onesignal.com/api/v1/notifications") as HttpWebRequest; request.KeepAlive = true; request.Method = "POST"; request.ContentType = "application/json; charset=utf-8"; request.Headers.Add("authorization", "Basic MzUyOWU3MDItMmJlMS00ZWRkLTlkYzEtMDhlZGMyZmEzYjQx"); Dictionary <string, object> dictionary = new Dictionary <string, object>(); dictionary.Add("content", datas); //GET EXTERNALIDS DỰA VÀO NOTINUMBER Ở ĐÂY DataProvider dataProvider = DataProvider.GetInstance(); string[] externalIDs = dataProvider.GetUserIdsByPushnotiType(notiNumber, datas).ToArray(); object obj = null; if (isSilent) { obj = SilentNoti(externalIDs, dictionary); } else { obj = ShownNoti(externalIDs, dictionary, notiNumber); } var serializer = new JavaScriptSerializer(); var param = serializer.Serialize(obj); byte[] byteArray = Encoding.UTF8.GetBytes(param); string responseContent = null; try { using (var writer = request.GetRequestStream()) { writer.Write(byteArray, 0, byteArray.Length); } using (var response = request.GetResponse() as HttpWebResponse) { using (var reader = new StreamReader(response.GetResponseStream())) { responseContent = reader.ReadToEnd(); } } } catch (WebException ex) { System.Diagnostics.Debug.WriteLine(ex.Message); System.Diagnostics.Debug.WriteLine(new StreamReader(ex.Response.GetResponseStream()).ReadToEnd()); } }
public static string Get(NotiNumber notiNumber) { switch (notiNumber) { case NotiNumber.MakeBillForStore: //return "Cửa hàng của bạn vừa nhận một order mới!"; return("Your store has just received a new order!"); break; case NotiNumber.CancelOrderForStore: //return "Cửa hàng của bạn có một order đã bị hủy"; return("An order has just been canceled by customer"); break; case NotiNumber.CancelOrderForCustomer: //return "Bạn có một order đã bị hủy"; return("An order has just been canceled by store"); break; case NotiNumber.ReceiveOrderForStore: //return "Cửa hàng của bạn có một order đã được nhận!"; return("An order has just been received by customer!"); break; case NotiNumber.DeliverOrderForCustomer: return("Your order has just started delivering!"); break; case NotiNumber.Login: return("Your account has just been signed up in another device!"); break; case NotiNumber.SendReview: //return "Order của cửa hàng vừa nhận được một feedback từ khách hàng!"; return("Your store's order has just received a feedback from customer!"); } return(""); }
public static object ShownNoti(string[] externalIDs, Dictionary <string, object> datas, NotiNumber notiNumber) { var shownObj = new { headings = new { en = "Grocery App" }, app_id = "b5f59a9f-3873-47a9-80e5-ca37fb75610a", contents = new { en = NotiContent.Get(notiNumber) }, content_available = true, include_external_user_ids = externalIDs, small_icon = "pushnotiicon", data = datas }; return(shownObj); }
public List <string> GetUserIdsByPushnotiType(NotiNumber notiNumber, string datas) { List <string> result = new List <string>(); if (notiNumber == NotiNumber.SendReview) { string[] parts = datas.Split('~'); OrderBill Order = JsonConvert.DeserializeObject <OrderBill>(parts[0]); string idUser = this.GetIDUserByIDStore(Order.IDStore);//user có idstore là store của order result.Add(idUser); return(result); } if (notiNumber == NotiNumber.Login) { result.Add(Infor.IDUser); return(result); } if (notiNumber == NotiNumber.MakeBillForStore) { string[] parts = datas.Split('~'); OrderBill newOrder = JsonConvert.DeserializeObject <OrderBill>(parts[0]); string idUser = this.GetIDUserByIDStore(newOrder.IDStore);//user có idstore là store của order result.Add(idUser); return(result); } if (notiNumber == NotiNumber.MakeBillForOther) { string[] parts = datas.Split('~'); OrderBill newOrder = JsonConvert.DeserializeObject <OrderBill>(parts[0]); string idUser = this.GetIDUserByIDStore(newOrder.IDStore);//user có idstore là store của order foreach (User user in Database.Users) { if (user.IDUser != Infor.IDUser && user.IDUser != idUser) { result.Add(user.IDUser); } } return(result); } if (notiNumber == NotiNumber.CancelOrderForStore) { string[] parts = datas.Split('~'); OrderBill canceledOrder = JsonConvert.DeserializeObject <OrderBill>(parts[0]); string idUser = this.GetIDUserByIDStore(canceledOrder.IDStore);//user có idstore là store của order result.Add(idUser); return(result); } if (notiNumber == NotiNumber.CancelOrderForOther) { string[] parts = datas.Split('~'); OrderBill canceledOrder = JsonConvert.DeserializeObject <OrderBill>(parts[0]); string idUser = this.GetIDUserByIDStore(canceledOrder.IDStore);//user có idstore là store của order foreach (User user in Database.Users) { if (user.IDUser != Infor.IDUser && user.IDUser != idUser) { result.Add(user.IDUser); } } return(result); } if (notiNumber == NotiNumber.CancelOrderForCustomer) { string[] parts = datas.Split('~'); OrderBill canceledOrder = JsonConvert.DeserializeObject <OrderBill>(parts[0]); string idUser = canceledOrder.IDUser;//iduser là customer bị hủy order result.Add(idUser); return(result); } if (notiNumber == NotiNumber.ReceiveOrderForStore) { string[] parts = datas.Split('~'); OrderBill receivedOrder = JsonConvert.DeserializeObject <OrderBill>(parts[0]); string idUser = this.GetIDUserByIDStore(receivedOrder.IDStore);//user có idstore là store của order result.Add(idUser); return(result); } if (notiNumber == NotiNumber.ReceiveOrderForOther) { string[] parts = datas.Split('~'); OrderBill receivedOrder = JsonConvert.DeserializeObject <OrderBill>(parts[0]); string idUser = this.GetIDUserByIDStore(receivedOrder.IDStore);//user có idstore là store của order foreach (User user in Database.Users) { if (user.IDUser != Infor.IDUser && user.IDUser != idUser) { result.Add(user.IDUser); } } return(result); } if (notiNumber == NotiNumber.DeliverOrderForCustomer) { string[] parts = datas.Split('~'); OrderBill deliveredOrder = JsonConvert.DeserializeObject <OrderBill>(parts[0]); string idCustomer = deliveredOrder.IDUser;//user có idstore là store của order result.Add(idCustomer); return(result); } if (notiNumber == NotiNumber.DeliverOrderForOther) { string[] parts = datas.Split('~'); OrderBill deliveredOrder = JsonConvert.DeserializeObject <OrderBill>(parts[0]); string idCustomer = deliveredOrder.IDUser;//user có idstore là store của order foreach (User user in Database.Users) { if (user.IDUser != Infor.IDUser && user.IDUser != idCustomer) { result.Add(user.IDUser); } } return(result); } foreach (User user in Database.Users) { if (user.IDUser != Infor.IDUser) { result.Add(user.IDUser); } } return(result); }