public SMSConfig GetSMSEmailMasterDetails(string groupId)
        {
            SMSConfig objData = new SMSConfig();

            try
            {
                var connectionString = GetCustomerConnString(groupId);
                using (var contextNew = new BOTSDBContext(connectionString))
                {
                    var lstSMSEmail = contextNew.SMSEmailMasters.ToList();
                    if (lstSMSEmail != null)
                    {
                        objData.Enrollment        = lstSMSEmail.Where(x => x.MessageId == "100").Select(y => y.SMS).FirstOrDefault();
                        objData.Earn              = lstSMSEmail.Where(x => x.MessageId == "101").Select(y => y.SMS).FirstOrDefault();
                        objData.Burn              = lstSMSEmail.Where(x => x.MessageId == "102").Select(y => y.SMS).FirstOrDefault();
                        objData.CancelEarn        = lstSMSEmail.Where(x => x.MessageId == "103").Select(y => y.SMS).FirstOrDefault();
                        objData.CancelBurn        = lstSMSEmail.Where(x => x.MessageId == "104").Select(y => y.SMS).FirstOrDefault();
                        objData.OTP               = lstSMSEmail.Where(x => x.MessageId == "105").Select(y => y.SMS).FirstOrDefault();
                        objData.BalanceInquiry    = lstSMSEmail.Where(x => x.MessageId == "106").Select(y => y.SMS).FirstOrDefault();
                        objData.EnrollmentAndEarn = lstSMSEmail.Where(x => x.MessageId == "107").Select(y => y.SMS).FirstOrDefault();
                    }
                }
            }
            catch (Exception ex)
            {
            }
            return(objData);
        }
Esempio n. 2
0
        private bool SendSMS(string[] toPhoneNumbers, string content)
        {
            var setting = this.Context.WebSite.SiteDb().CoreSetting.GetSetting <ChinaMobileSMSSetting>();

            if (setting == null ||
                string.IsNullOrWhiteSpace(setting.ecName) ||
                string.IsNullOrWhiteSpace(setting.apId) ||
                string.IsNullOrWhiteSpace(setting.secretKey) ||
                string.IsNullOrWhiteSpace(setting.sign))
            {
                throw new Exception("China Mobile SMS service not configured");
            }

            var smsConfig = new SMSConfig
            {
                EcName    = setting.ecName,
                ApId      = setting.apId,
                SecretKey = setting.secretKey,
                Sign      = setting.sign
            };

            var smsClient = new SMSClient(smsConfig);
            var smsResult = smsClient.SendAsync(toPhoneNumbers, content).Result;

            if (smsResult.IsFailure)
            {
                throw new Exception(smsResult.Message);
            }

            return(true);
        }
Esempio n. 3
0
        // Token: 0x06000006 RID: 6 RVA: 0x0000228C File Offset: 0x0000048C
        public static bool SaveConfig(SMSConfig smsconfig)
        {
            string mapPath = FPUtils.GetMapPath(WebConfig.WebPath + "config/sms.config");

            FPCache.Remove("FP_SMSCONFIG");
            return(FPSerializer.Save <SMSConfig>(smsconfig, mapPath));
        }
Esempio n. 4
0
        public IActionResult SMSConfig_Submit()
        {
            //北京网通
            SMSConfig.Instance.G_eid     = GetParam("txtg_eid");
            SMSConfig.Instance.G_uid     = GetParam("txtg_uid");
            SMSConfig.Instance.G_pwd     = GetParam("txtg_pwd");
            SMSConfig.Instance.G_gate_id = GetParam("txt_h_gate_id");
            //深圳电信
            SMSConfig.Instance.MssUser = GetParam("TxtMssUser");
            SMSConfig.Instance.MssPsw  = GetParam("TxtMssPsw");

            //北京亿美
            SMSConfig.Instance.sms_key          = GetParam("smskeyT");
            SMSConfig.Instance.sms_pwd          = GetParam("smspwdT");
            SMSConfig.Instance.DefaultSMS       = GetParam("ddlMessageCheck_DP");
            SMSConfig.Instance.Tlp_Reg          = GetParam("Tlp_Reg");
            SMSConfig.Instance.Tlp_GetBack      = GetParam("Tlp_GetBack");
            SMSConfig.Instance.Tlp_ChangeMobile = GetParam("Tlp_ChangeMobile");

            SMSConfig.Instance.QCloud_APPID  = GetParam("QC_APPID");
            SMSConfig.Instance.QCloud_APPKey = GetParam("QC_APPKey");
            SMSConfig.Instance.QCloud_Sign   = GetParam("QC_Sign");


            SiteConfig.SiteOption.MaxMobileMsg  = DataConverter.CLng(GetParam("MaxPhoneMsg"));
            SiteConfig.SiteOption.MaxIpMsg      = DataConverter.CLng(GetParam("MaxIpMsg"));
            SiteConfig.UserConfig.UserMobilAuth = GetParam("userMobilAuth");
            SMSConfig.Update();
            SiteConfig.Update();
            return(WriteOK("操作成功", "SMSCfg"));
        }
Esempio n. 5
0
 public JusibeClient(string key, string token)
 {
     this.config = new SMSConfig()
     {
         AccessToken = token,
         PublicKey   = key
     };
 }
Esempio n. 6
0
        public void Url_Is_Generated_Properly()
        {
            this.LoadEnvironment();

            var config = new SMSConfig()
            {
            };

            Assert.Equal("https://jusibe.com/smsapi/send_sms", config.ResolveURL("send_sms"));
        }
Esempio n. 7
0
        public void SMSConfig_IsDefault()
        {
            // Arrange
            var configValue = "44|12345|API_KEY|API_PASSWORD|true";
            // Act
            var result = new SMSConfig(configValue);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.IsDefault);
        }
Esempio n. 8
0
        public void Network_Credentials_Are_Generated_Properly()
        {
            this.LoadEnvironment();

            var config = new SMSConfig()
            {
                AccessToken = System.Environment.GetEnvironmentVariable("Jusibe_Token"),
                PublicKey   = System.Environment.GetEnvironmentVariable("Jusibe_Key")
            };

            Assert.NotNull(config.Credentials.UserName);
            Assert.NotNull(config.Credentials.Password);
        }
        public async Task AutoSendSMSRemind(string userName, SMSConfig smsConfig)
        {
            var currentUser = await _userManager.GetUserByName(userName);

            var currentInvestmentTarget = await GetInvestmentTarget(currentUser.Id);

            if (currentInvestmentTarget == null || currentInvestmentTarget.Status == smartFunds.Common.EditStatus.Updating || currentInvestmentTarget.ExpectedAmount <= currentUser.CurrentAccountAmount || (DateTime.Now - currentInvestmentTarget.DateLastUpdated).Days / 30 >= (int)currentInvestmentTarget.Duration)
            {
                RecurringJob.RemoveIfExists("InvestmentTargetSend" + currentUser.UserName);
                return;
            }

            _smsGateway.Send(smsConfig);
        }
Esempio n. 10
0
 /// <summary>
 /// 发送短信
 /// </summary>
 /// <param name="mobiles">手机号码</param>
 /// <param name="content">内容</param>
 /// <returns>发送结果:0-成功;其他-错误信息</returns>
 public static string SendMessage(string mobiles, string content)
 {
     MyConfig = GetConfig();
     if (MyConfig != null)
     {
         ISendSMS iSend = (ISendSMS)MyConfig.TheClass;
         iSend.Config = MyConfig.ConfigString;
         return(iSend.Send(mobiles, content));
     }
     else
     {
         return("无法加载短信网关配置信息,请检查sms.config配置文件是否正确。");
     }
 }
Esempio n. 11
0
        public void SMSConfig_Construct()
        {
            // Arrange
            var configValue = "44|12345|API_KEY|API_PASSWORD|false";
            // Act
            var result = new SMSConfig(configValue);

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(44, result.CountryCode);
            Assert.AreEqual("12345", result.AccountId);
            Assert.AreEqual("API_KEY", result.ApiKey);
            Assert.AreEqual("API_PASSWORD", result.ApiPassword);
            Assert.IsFalse(result.IsDefault);
        }
Esempio n. 12
0
        private static SMSConfig GetConfig()
        {
            if (MyConfig == null)
            {
                lock (lockConfig)
                {
                    if (MyConfig == null)
                    {
                        MyConfig = LoadConfig();
                        Assembly a = Assembly.LoadFrom(MyConfig.Assembly);
                        //创建类的实例
                        MyConfig.TheClass = a.CreateInstance(MyConfig.ClassName);
                    }
                }
            }

            return(MyConfig);
        }
Esempio n. 13
0
        // Token: 0x06000005 RID: 5 RVA: 0x000021E4 File Offset: 0x000003E4
        public static SMSConfig GetSMSConfig()
        {
            SMSConfig smsconfig = FPCache.Get <SMSConfig>("FP_SMSCONFIG");

            lock (SMSConfigs.lockHelper)
            {
                if (smsconfig == null)
                {
                    string mapPath = FPUtils.GetMapPath(WebConfig.WebPath + "config/sms.config");
                    smsconfig = FPSerializer.Load <SMSConfig>(mapPath);
                    if (smsconfig.posturl == "")
                    {
                        smsconfig.posturl = "http://sms.106jiekou.com/utf8/sms.aspx";
                    }
                    FPCache.Insert("FP_SMSCONFIG", smsconfig, mapPath);
                }
            }
            return(smsconfig);
        }
Esempio n. 14
0
        /// <summary>
        /// 发送短信
        /// </summary>
        /// <param name="InputConfig">配置档</param>
        /// <param name="InputReceiverInfo">短信接收信息</param>
        public bool Send(SMSConfig InputConfig, SMSReceiveInfo InputReceiverInfo)
        {
            bool   reVal      = false;
            string Url        = InputConfig.Url + "?suser=@UserName&spass=@Password&telnum=@Tel&nr=@Content";
            string ReceverNum = string.Empty;

            foreach (SMSReceiver Receiver in InputReceiverInfo.ReceiverList)
            {
                ReceverNum += Receiver.PhoneNum + ",";
            }
            if (!ReceverNum.IsNullOrEmpty())
            {
                ReceverNum = ReceverNum.RemoveEndChar(",");
                Url        = Url
                             .Replace("@UserName", InputConfig.UserName)
                             .Replace("@Password", InputConfig.Password)
                             .Replace("@Tel", ReceverNum)
                             .Replace("@Content", InputReceiverInfo.Content);
            }
            return(reVal);
        }
Esempio n. 15
0
        private static SMSConfig LoadConfig()
        {
            string smsConfigFile = HttpContext.Current.Server.MapPath("~/config/sms.config");

            if (File.Exists(smsConfigFile))
            {
                SMSConfig   myConfig = new SMSConfig();
                XmlDocument xml      = new XmlDocument();
                xml.Load(smsConfigFile);
                XmlNode root = xml.SelectSingleNode("items");
                foreach (XmlNode n in root.ChildNodes)
                {
                    if (n.NodeType != XmlNodeType.Comment && n.Name.ToLower() == "item")
                    {
                        XmlAttribute name  = n.Attributes["name"];
                        XmlAttribute value = n.Attributes["value"];

                        if (name != null && name.Name == "Assembly" && value != null)
                        {
                            myConfig.Assembly = value.Value;
                        }
                        if (name != null && name.Name == "ClassName" && value != null)
                        {
                            myConfig.ClassName = value.Value;
                        }
                        if (name != null && name.Name == "ConfigString" && value != null)
                        {
                            myConfig.ConfigString = value.Value;
                        }
                    }
                }
                return(myConfig);
            }
            else
            {
                return(null);
            }
        }
Esempio n. 16
0
        /// <summary>
        /// 直接返回带短信参数的类
        /// </summary>
        /// <returns></returns>
        public SMSConfig GetSmsConfing(Sys_ParamConfig _config)
        {
            try
            {
                var model  = _config;
                var config = new SMSConfig();
                if (_config != null)
                {
                    var value = model.ConfigValue.Split(';');

                    config.hostIP    = value[0];
                    config.Port      = Convert.ToInt32(value[1]);
                    config.Account   = value[2];
                    config.PassWord  = value[3];
                    config.ServiceID = "0";
                }
                return(config);
            }
            catch
            {
                return(new SMSConfig());
            }
        }
Esempio n. 17
0
 /// <summary>
 /// 获取配置
 /// </summary>
 public void GetConfig(Sys_ParamConfig _config = null)
 {
     config = (new Sys_ParamConfigBL()).GetSmsConfing(_config);
 }
Esempio n. 18
0
 /// <summary>
 /// 保存短信配置
 /// </summary>
 /// <param name="config">短信配置信息</param>
 /// <returns>是否保存结果</returns>
 public bool SaveSMSConfig(SMSConfig config)
 {
     return(SaveConfig(config, IOHelper.GetMapPath(_smsconfigfilepath)));
 }
Esempio n. 19
0
 public JusibeClient(SMSConfig config)
 {
     this.config = config;
 }
Esempio n. 20
0
 public async Task AutoSendSMSRemind(string userName, SMSConfig smsConfig)
 {
     await _investmentTargetManager.AutoSendSMSRemind(userName, smsConfig);
 }
Esempio n. 21
0
 public SMSClient(SMSConfig config)
 {
     _httpClient = new HttpClient();
     _config     = config;
 }
Esempio n. 22
0
        public bool Send(SMSConfig smsConfig)
        {
            try
            {
                string url = "http://api.esms.vn/MainService.svc/xml/SendMultipleMessage_V4/";
                // declare ascii encoding
                UTF8Encoding encoding = new UTF8Encoding();

                string strResult = string.Empty;

                string customers = string.Empty;

                string[] listPhone = smsConfig.Phone.Split(',');

                foreach (var phone in listPhone)
                {
                    customers = customers + @"<CUSTOMER>"
                                + "<PHONE>" + phone + "</PHONE>"
                                + "</CUSTOMER>";
                }

                string SampleXml = @"<RQST>"
                                   + "<APIKEY>" + smsConfig.APIKey + "</APIKEY>"
                                   + "<SECRETKEY>" + smsConfig.SecretKey + "</SECRETKEY>"
                                   + "<ISFLASH>" + (smsConfig.IsFlash ? "1" : "0") + "</ISFLASH>"
                                   + "<BRANDNAME>" + smsConfig.BrandName + "</BRANDNAME>"  //De dang ky brandname rieng vui long lien he hotline 0902435340 hoac nhan vien kinh Doanh cua ban
                                   + "<SMSTYPE>" + smsConfig.SMSType + "</SMSTYPE>"
                                   + "<CONTENT>" + smsConfig.Message + "</CONTENT>"
                                   + "<CONTACTS>" + customers + "</CONTACTS>"
                                   + "</RQST>";

                string postData = SampleXml.Trim().ToString();
                // convert xmlstring to byte using ascii encoding
                byte[] data = encoding.GetBytes(postData);
                // declare httpwebrequet wrt url defined above
                HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(url);
                // set method as post
                webrequest.Method  = "POST";
                webrequest.Timeout = 500000;
                // set content type
                webrequest.ContentType = "application/x-www-form-urlencoded";
                // set content length
                webrequest.ContentLength = data.Length;
                // get stream data out of webrequest object
                Stream newStream = webrequest.GetRequestStream();
                newStream.Write(data, 0, data.Length);
                newStream.Close();
                // declare & read response from service
                HttpWebResponse webresponse = (HttpWebResponse)webrequest.GetResponse();

                // set utf8 encoding
                Encoding enc = System.Text.Encoding.GetEncoding("utf-8");
                // read response stream from response object
                StreamReader loResponseStream =
                    new StreamReader(webresponse.GetResponseStream(), enc);
                // read string from stream data
                strResult = loResponseStream.ReadToEnd();
                // close the stream object
                loResponseStream.Close();
                // close the response object
                webresponse.Close();
                // below steps remove unwanted data from response string
                strResult = strResult.Replace("</string>", "");

                var xDoc         = XDocument.Parse(strResult);
                var code         = xDoc.Descendants("CodeResult").Single();
                var errorMessage = xDoc.Descendants("ErrorMessage").Single();

                if (code.Value == "100")
                {
                    return(true);
                }
                else
                {
                    var logger = NLog.Web.NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();
                    logger.Error("Send SMS Error: Code: " + code.Value + ", Message: " + errorMessage.Value);
                    return(false);
                }
            }
            catch (Exception ex)
            {
                throw new ApplicationException("Send SMS Error: " + ex.Message);
            }
        }