public bool SendPhoneAPNS(BaseInfo baseInfo) { PhoneGCMInfo info = (PhoneGCMInfo)baseInfo; JSONInfo Info1 = new JSONInfo(); subJSONInfo Info2 = new subJSONInfo(); JSONResult Info3 = new JSONResult(); ArrayList _GetPhoneRegIDData = new ArrayList(); ArrayList _GetCarAlarmData = new ArrayList(); ArrayList _GetRuleInfoData = new ArrayList(); ArrayList _IOSRegIDData = new ArrayList(); ArrayList _RegIDData = new ArrayList(); _GetCarAlarmData.Add(info.DeviceID); IDataReader reader1 = DataProvider.Instance().ChkPhoneDriverInfoDB(_GetCarAlarmData);//FMS_PhoneDriverInfo_Fetch;return CarNo,Driver if (reader1.Read()) { Info1.type = "check"; Info2.CarNo = reader1.GetString(0); Info2.Driver = reader1.GetString(1); } CBO.CloseDataReader(reader1, true); _GetRuleInfoData.Add(info.AlertRuleID); IDataReader reader2 = DataProvider.Instance().ChkPhoneRuleDB(_GetRuleInfoData);//FMS_PhoneRule_Fetch;return RuleName,AlarmType,Severity if (reader2.Read()) { Info2.AlertDate = info.EventTime; Info2.RuleName = reader2.GetString(0); Info2.AlarmType = reader2.GetString(1); Info2.Severity = reader2.GetString(2); } CBO.CloseDataReader(reader2, true); StringBuilder _sb = new StringBuilder(); _sb.Append("警報日期:"); _sb.Append(Info2.AlertDate); _sb.Append("\\n"); _sb.Append("類型/嚴重度:"); if (Info2.Severity.Equals("3")) { _sb.Append(Info2.AlarmType + " / [嚴重]"); } else if (Info2.Severity.Equals("2")) { _sb.Append(Info2.AlarmType + " / [一般]"); } else { _sb.Append(Info2.AlarmType + " / [輕度]"); } _sb.Append("\\n"); _sb.Append("名稱:"); _sb.Append(Info2.RuleName); _sb.Append("\\n"); _sb.Append("車號/駕駛人:"); _sb.Append(Info2.CarNo + " / " + Info2.Driver); string output = _sb.ToString(); // string output = "警報日期:2015/03/04 11:55:00 \\n類型/嚴重度:超速 / [嚴重]\\n名稱:連續超速70km 3分鐘\\n車號/駕駛人:kw-car03 / 易大師"; _GetPhoneRegIDData.Add(info.AlertRuleID); _GetPhoneRegIDData.Add(info.DeviceID); IDataReader reader = DataProvider.Instance().GetAPNSDB(_GetPhoneRegIDData);//FMS_PhoneGCM_Fetch;return UserId,RegisterID,Phone_Mail_Logic APNSSender _apnsSender = new APNSSender(); string strResultJson; while (reader.Read()) { info.userID = reader.GetInt32(0).ToString(); info.RegID = reader.GetString(1); strResultJson = _apnsSender.SendAPNS(info.RegID, output); //save log record CreatePushNoticeLog(info, output, "Apple"); } CBO.CloseDataReader(reader, true); return true; }
public bool SendPhoneBaidu(BaseInfo baseInfo) { PhoneGCMInfo info = (PhoneGCMInfo)baseInfo; JSONInfo Info1 = new JSONInfo(); subJSONInfo Info2 = new subJSONInfo(); JSONResult Info3 = new JSONResult(); ArrayList _GetPhoneRegIDData = new ArrayList(); ArrayList _GetCarAlarmData = new ArrayList(); ArrayList _GetRuleInfoData = new ArrayList(); ArrayList _IOSRegIDData = new ArrayList(); ArrayList _RegIDData = new ArrayList(); _GetCarAlarmData.Add(info.DeviceID); IDataReader reader1 = DataProvider.Instance().ChkPhoneDriverInfoDB(_GetCarAlarmData);//FMS_PhoneDriverInfo_Fetch;return CarNo,Driver if (reader1.Read()) { Info1.type = "alert"; Info2.CarNo = reader1.GetString(0); Info2.Driver = reader1.GetString(1); } CBO.CloseDataReader(reader1, true); _GetRuleInfoData.Add(info.AlertRuleID); IDataReader reader2 = DataProvider.Instance().ChkPhoneRuleDB(_GetRuleInfoData);//FMS_PhoneRule_Fetch;return RuleName,AlarmType,Severity if (reader2.Read()) { Info2.AlertDate = info.EventTime; Info2.RuleName = reader2.GetString(0); Info2.AlarmType = reader2.GetString(1); Info2.Severity = reader2.GetString(2); } CBO.CloseDataReader(reader2, true); Info1.data = new string[] { JsonConvert.SerializeObject(Info2) }; string output = JsonConvert.SerializeObject(Info1); output = output.Replace("\\", "").Replace("[\"", "[").Replace("\"]", "]"); _GetPhoneRegIDData.Add(info.AlertRuleID); _GetPhoneRegIDData.Add(info.DeviceID); IDataReader reader = DataProvider.Instance().GetBaiduDB(_GetPhoneRegIDData);//FMS_PhoneBaidu_Fetch;return UserId,RegisterID,Phone_Mail_Logic BaiduSender _BaiduPush = new BaiduSender(); string strResultJson; while (reader.Read()) { info.userID = reader.GetInt32(0).ToString(); info.RegID = reader.GetString(1); Random rnd = new Random(Guid.NewGuid().GetHashCode()); String msgKey = rnd.NextDouble() + ""; strResultJson = _BaiduPush.Push(info.RegID, "", output, msgKey); //save log record CreatePushNoticeLog(info, output, "Baidu"); } CBO.CloseDataReader(reader, true); return true; }
public bool ChkPhoneGCM(BaseInfo baseInfo) { PhoneGCMInfo info = (PhoneGCMInfo)baseInfo; JSONInfo Info1 = new JSONInfo(); subJSONInfo Info2 = new subJSONInfo(); ArrayList al = new ArrayList(); ArrayList a2 = new ArrayList(); ArrayList a3 = new ArrayList(); //ArrayList a3 = new ArrayList(); al.Add(info.AlertRuleID); a2.Add(info.DeviceID); IDataReader reader1 = DataProvider.Instance().ChkPhoneDriverInfoDB(a2);//FMS_PhoneDriverInfo_Fetch;return CarNo,Driver if (reader1.Read()) { Info1.type = "check"; //Info1.data.CarNo = reader1.GetString(0); //Info1.data.Driver = reader1.GetString(1); Info2.CarNo = reader1.GetString(0); Info2.Driver = reader1.GetString(1); } CBO.CloseDataReader(reader1, true); a2.Clear(); a2.Add(info.AlertRuleID); IDataReader reader2 = DataProvider.Instance().ChkPhoneRuleDB(a2);//FMS_PhoneRule_Fetch;return RuleName,AlarmType,Severity if (reader2.Read()) { //Info1.data.AlertDate = info.EventTime; //Info1.data.RuleName = reader2.GetString(0); //Info1.data.AlarmType = reader2.GetString(1); //Info1.data.Severity = reader2.GetString(2); Info2.AlertDate = info.EventTime; Info2.RuleName = reader2.GetString(0); Info2.AlarmType = reader2.GetString(1); Info2.Severity = reader2.GetString(2); } CBO.CloseDataReader(reader2, true); a2.Clear(); //string output2 = JsonConvert.SerializeObject(Info2); Info1.data = new string[] { JsonConvert.SerializeObject(Info2) }; string output = JsonConvert.SerializeObject(Info1); output = output.Replace("\\", "").Replace("[\"", "[").Replace("\"]", "]"); //Info1.type = "alert"; string output1 = output.Replace("check", "alert"); al.Add(info.DeviceID); IDataReader reader = DataProvider.Instance().ChkGCMDB(al);//FMS_PhoneGCM_Fetch;return UserId,RegisterID,Phone_Mail_Logic GCMSender gcm = null; string strResultJson, strResultJson1; while (reader.Read()) { info.userID = reader.GetInt32(0).ToString(); info.RegID = reader.GetString(1); info.Phone_Mail_Logic = reader.GetString(2); gcm = new GCMSender(info.RegID , "AIzaSyAI7vpx-Q3gQ1l-2R0jH00IqnVEbaQgSR8"); strResultJson = gcm.Send(output); if (strResultJson.IndexOf("registration_id") == -1) { strResultJson1 = gcm.Send(output1); //save log record CreatePushNoticeLog(info, output1, "Google"); } else { JObject obj = (JObject)JsonConvert.DeserializeObject(strResultJson); obj = (JObject)obj["results"][0]; if (obj["registration_id"] != null) { string newRegId = obj["registration_id"].ToString(); PhoneGCMInfo newGcmInfo = new PhoneGCMInfo(); newGcmInfo.RegID = info.RegID; newGcmInfo.newRegID = newRegId; newGcmInfo.userID = info.userID; newGcmInfo.Phone_Mail_Logic = info.Phone_Mail_Logic; newGcmInfo.WorkListAlertID = info.WorkListAlertID; newGcmInfo.DeviceID = info.DeviceID; newGcmInfo.AlertRuleID = info.AlertRuleID; a3.Add(newGcmInfo); } } } if (a3.Count > 0) { for (int i = 0; i < a3.Count; i++) { PhoneGCMInfo newGcmInfo = a3[i] as PhoneGCMInfo; a2.Clear(); a2.Add(newGcmInfo.RegID); a2.Add(newGcmInfo.newRegID); a2.Add(newGcmInfo.userID); a2.Add(newGcmInfo.Phone_Mail_Logic); int reader3 = DataProvider.Instance().ChkPhoneOverRegIDDB(a2); gcm = new GCMSender(newGcmInfo.newRegID, "AIzaSyAI7vpx-Q3gQ1l-2R0jH00IqnVEbaQgSR8"); strResultJson1 = gcm.Send(output1); //save log record newGcmInfo.RegID = newGcmInfo.newRegID; CreatePushNoticeLog(info, output1, "Google"); } } CBO.CloseDataReader(reader, true); return true; }