Пример #1
0
        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.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);
        }
Пример #2
0
        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;
            }
        }
Пример #3
0
        public static void SentMtInfo(ViSport_S2_Registered_UsersInfo info)
        {
            DataTable dt = ViSport_S2_SMS_MTController.GetMtContent();

            //if(dt != null && dt.Rows.Count > 0)
            //{
            //    if(!string.IsNullOrEmpty(dt.Rows[0]["MT"].ToString()))
            //    {
            try
            {
                string day = DateTime.Now.ToString("yyyyMMdd");

                DataTable dtMt = ViSport_S2_SMS_MTController.CheckAlreadySendMt(info.User_ID, 0, day);
                if (dtMt != null && dtMt.Rows.Count > 0)
                {
                    _logger.Info("Da gui MT cho so : " + info.User_ID + "| day : " + day);
                }
                else
                {
                    string message = string.Empty;
                    string isMt    = dt.Rows[0]["IsMt"].ToString();

                    if (isMt == "1")
                    {
                        message = GetSetting("MessageTue");
                    }
                    else if (isMt == "2")
                    {
                        message = GetSetting("MessageThu");
                    }
                    else if (isMt == "3")
                    {
                        message = GetSetting("MessageSat");
                    }

                    _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, message));

                    //#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;

                    //objSentMt.sendMT(info.User_ID, message, serviceId, commandCode, "1", requestId, "1", "1", "0", "0");

                    //var objMt = new ViSport_S2_SMS_MTInfo();
                    //objMt.User_ID = info.User_ID;
                    //objMt.Message = message;
                    //objMt.Service_ID = serviceId;
                    //objMt.Command_Code = commandCode;
                    //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 = "VClip_MT";
                    //ViSport_S2_SMS_MTController.InsertVClip(objMt);

                    //#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);
        }