public static ViSport_S2_Registered_UsersInfo initInfo(DataRow row) { ViSport_S2_Registered_UsersInfo info = new ViSport_S2_Registered_UsersInfo(); try { info.ID = ConvertUtility.ToInt32(row["ID"]); info.User_ID = row["User_ID"].ToString().Trim(); info.Request_ID = ConvertUtility.ToString(row["Request_ID"]).Trim(); info.Service_ID = ConvertUtility.ToString(row["Service_ID"]).Trim(); info.Command_Code = ConvertUtility.ToString(row["Command_Code"]).Trim(); info.Sub_Code = ConvertUtility.ToString(row["Sub_Code"]).Trim(); info.Service_Type = ConvertUtility.ToInt32(row["Service_Type"]); info.Request_ID = ConvertUtility.ToString(row["Request_ID"]).Trim(); info.Charging_Count = ConvertUtility.ToInt32(row["Charging_Count"]); info.FailedChargingTimes = Convert.ToInt32(row["FailedChargingTimes"]); info.RegisteredTime = ConvertUtility.ToDateTime(row["RegisteredTime"]); info.ExpiredTime = ConvertUtility.ToDateTime(row["ExpiredTime"]); info.Registration_Channel = ConvertUtility.ToString(row["Registration_Channel"]); info.Status = ConvertUtility.ToInt32(row["Status"]); info.Operator = ConvertUtility.ToString(row["Operator"]); info.IsLock = ConvertUtility.ToInt32(row["IsLock"]); } catch (Exception ex) { _logger.Info(string.Format("error! init info user_id = {0}, Request_ID = {1}, Reason = {2}", row["User_ID"].ToString().Trim(), row["Request_ID"].ToString().Trim(), ex.StackTrace) + Environment.NewLine); return(null); } return(info); }
private void EnQueue(DataTable tbl) { int step = 1; if (tbl != null && tbl.Rows.Count > 0 && MSMProccess.MT_PROC_QUE.Count < 100) { _logger.Info(" "); _logger.Info(" "); _logger.Info(" "); _logger.Info(string.Format("MT_PROC_QUE count: {0}", MSMProccess.MT_PROC_QUE.Count)); _logger.Info(string.Format("******step: {0} at {1}", step++, DateTime.Now)); _logger.Info(string.Format("******Number of User: {0}", tbl.Rows.Count)); //Get list of MT id string lstId = "0"; for (int i = 0; i < tbl.Rows.Count; i++) { lstId += "," + Convert.ToString(tbl.Rows[i]["ID"]); } SMS_MTDB_SQL.MTUpdateByListId(lstId); foreach (DataRow row in tbl.Rows) { try { ViSport_S2_Registered_UsersInfo info = initInfo(row); MSMProccess.MT_PROC_QUE.Enqueue(info); } catch (Exception ex) { _logger.Error(string.Format("error! {0}", ex.Message + " -- " + ex.StackTrace) + Environment.NewLine); } } } ViSport_S2_SMS_MTController.UpdateStatus(0); //UPDATE JobStatus Sau Khi Gui MT Xong; }
public static void SentMtInfo(ViSport_S2_Registered_UsersInfo info) { DataTable dt = ViSport_S2_SMS_MTController.GetMtContent(info.Sub_Code.ToUpper()); if (dt != null && dt.Rows.Count > 0) { //if(!string.IsNullOrEmpty(dt.Rows[0]["MT"].ToString())) //{ try { int hour = ConvertUtility.ToInt32(dt.Rows[0]["Hour"].ToString()); string day = dt.Rows[0]["Day"].ToString(); //DataTable dtMt = ViSport_S2_SMS_MTController.CheckAlreadySendMt(info.User_ID,hour,day,info.Sub_Code); //_logger.Info("Tham So Check CheckAlreadySendMt : " + info.User_ID + "| hour : " + hour + "| day : " + day); //if (dtMt != null && dtMt.Rows[0]["RETURN_ID"].ToString() == "1") //{ // _logger.Info("Da gui MT cho so : " + info.User_ID + "| hour : " + hour + "| day : " + day); //} //else //{ //string message = dt.Rows[0]["MT"].ToString(); //Message lay tu DB; //string messageKd = UnicodeUtility.UnicodeToKoDau(message); //Loai bo dau; #region Gui MT cho khach hang var objSentMt = new ServiceProviderService(); string serviceId = info.Service_ID; string commandCode = info.Command_Code; string requestId = info.Request_ID; //for (int i = 0; i < 3;i++ ) //{ const int mtOrder = 1; string mtContent = string.Empty; if (!string.IsNullOrEmpty(dt.Rows[0]["MT1"].ToString())) { mtContent = dt.Rows[0]["MT1"].ToString(); } else if (!string.IsNullOrEmpty(dt.Rows[0]["MT2"].ToString())) { mtContent = dt.Rows[0]["MT2"].ToString(); } else if (!string.IsNullOrEmpty(dt.Rows[0]["MT3"].ToString())) { mtContent = dt.Rows[0]["MT3"].ToString(); } //if(i==0) //{ // mtOrder = 1; // mtContent = dt.Rows[0]["MT1"].ToString(); //} //else if(i == 1) //{ // mtOrder = 2; // mtContent = dt.Rows[0]["MT2"].ToString(); //} //else //{ // mtOrder = 3; // mtContent = dt.Rows[0]["MT3"].ToString(); //} DataTable dtMt = ViSport_S2_SMS_MTController.CheckAlreadySendMt(info.User_ID, hour, day, info.Sub_Code, mtOrder); _logger.Info("Tham So Check CheckAlreadySendMt : " + info.User_ID + " | hour : " + hour + " | day : " + day + " | sub_code :" + info.Sub_Code + " | mt_order :" + mtOrder); if (dtMt != null && dtMt.Rows.Count > 0) { _logger.Info("Da gui MT cho so : " + info.User_ID + " | hour : " + hour + " | day : " + day + " | sub_code :" + info.Sub_Code + " | mt_order :" + mtOrder); } else { _logger.Info(string.Format("Started Send MT User_ID= {0}, Request_ID = {1}, ID = {2}, Message = {3}", info.User_ID, info.Request_ID, info.ID, mtContent)); if (!string.IsNullOrEmpty(mtContent)) { int sentMt = objSentMt.sendMT(info.User_ID, mtContent, serviceId, commandCode, "1", requestId, "1", "1", "0", "0"); _logger.Info("SentMt return: " + sentMt); } #region Log Sms MT var objMt = new ViSport_S2_SMS_MTInfo(); objMt.User_ID = info.User_ID; objMt.Message = mtContent; objMt.Service_ID = serviceId; objMt.Command_Code = commandCode; objMt.Sub_Code = info.Sub_Code; objMt.Message_Type = 1; objMt.Request_ID = requestId; objMt.Total_Message = 1; objMt.Message_Index = 0; objMt.IsMore = 0; objMt.Content_Type = 0; objMt.ServiceType = 0; objMt.ResponseTime = DateTime.Now; objMt.isLock = false; objMt.PartnerID = "Xzone"; objMt.Operator = "ViSport_MT"; objMt.MtOrder = mtOrder; ViSport_S2_SMS_MTController.InsertMtSpamSmsUser(objMt); #endregion } //} #endregion //} } catch (TimeoutException e) { _logger.Error(string.Concat("mySendMT - ", e.StackTrace)); _logger.Error(string.Concat("mySendMT - ", e.Message)); MT_PROC_QUE.Enqueue(info); } catch (Exception ex) { //neu phat sinh loi he thong thi Update Islock = 0, de lan sau co the charge lai _logger.Info(string.Format("ERROR!Sending to {0} is error, Request_ID = {1}, Error mess = {2}", info.User_ID, info.Request_ID, ex.Message) + Environment.NewLine); SMS_MTDB_SQL.MTUpdateFail(info.ID); } //} } Thread.Sleep(100); }