Example #1
0
        private async void HandleArguments(ToastNotificationActivatedEventArgs args)
        {
            string arguments = args.Argument;

            string action   = args.Argument.Split('&').First(x => x.ToLower(new CultureInfo("en-US")).StartsWith("action=", StringComparison.InvariantCulture)).Split('=')[1];
            string from     = args.Argument.Split('&').First(x => x.ToLower(new CultureInfo("en-US")).StartsWith("from=", StringComparison.InvariantCulture)).Split('=')[1];
            string deviceid = args.Argument.Split('&').First(x => x.ToLower(new CultureInfo("en-US")).StartsWith("deviceid=", StringComparison.InvariantCulture)).Split('=')[1];

            switch (action.ToLower(new CultureInfo("en-US")))
            {
            case "reply":
            {
                try
                {
                    string     messagetosend = (string)args.UserInput["textBox"];
                    SmsDevice2 smsDevice     = SmsDevice2.FromId(deviceid);
                    await SmsUtils.SendTextMessageAsync(smsDevice, from, messagetosend);
                }
                catch
                {
                }

                break;
            }

            case "openthread":
            {
                ChatMenuItemControl selectedConvo = null;
                foreach (var convo in ViewModel.ChatConversations)
                {
                    var contact = convo.ViewModel.Contact;
                    foreach (var num in contact.Phones)
                    {
                        if (ContactUtils.ArePhoneNumbersMostLikelyTheSame(from, num.Number))
                        {
                            selectedConvo = convo;
                            break;
                        }
                    }
                    if (selectedConvo != null)
                    {
                        break;
                    }
                }
                if (selectedConvo != null)
                {
                    ViewModel.SelectedItem = selectedConvo;
                }
                break;
            }
            }
        }
Example #2
0
        private async Task HandleTaskActions(IBackgroundTaskInstance taskInstance)
        {
            try
            {
                if (taskInstance.TriggerDetails is ToastNotificationActionTriggerDetail)
                {
                    try
                    {
                        BadgeHandler.DecreaseBadgeNumber();
                    }
                    catch
                    {
                    }

                    var details = taskInstance.TriggerDetails as ToastNotificationActionTriggerDetail;

                    string arguments = details.Argument;

                    string action   = details.Argument.Split('&').First(x => x.ToLower().StartsWith("action=")).Split('=')[1];
                    string from     = details.Argument.Split('&').First(x => x.ToLower().StartsWith("from=")).Split('=')[1];
                    string deviceid = details.Argument.Split('&').First(x => x.ToLower().StartsWith("deviceid=")).Split('=')[1];

                    switch (action.ToLower())
                    {
                    case "reply":
                    {
                        try
                        {
                            string     messagetosend = (string)details.UserInput["textBox"];
                            SmsDevice2 smsDevice     = SmsDevice2.FromId(deviceid);
                            await SmsUtils.SendTextMessageAsync(smsDevice, from, messagetosend);
                        }
                        catch
                        {
                        }

                        break;
                    }

                    case "openthread":
                    {
                        break;
                    }
                    }
                }
            }
            catch
            {
            }
        }
        public void SendInteractiveSmsMessage(SmsNode node, string largeAccount, string msisdn)
        {
            string sessionId = SmsUtils.BuildSession(largeAccount, msisdn);

            _msisdn = msisdn;

            this.Url = "http://127.0.0.1/" + Global.App.eSpaceName + "/" + sessionId + "/ismshandler.asmx";


            if ((HttpContext.Current.Session != null) && (sessionId == RuntimePlatformUtils.SessionPrefix + HttpContext.Current.Session.SessionID + RuntimePlatformUtils.SessionSuffix))
            {
                // To make sure the session is not blocked, make an assynchronous request
                BeginSendInteractiveSms(node, largeAccount, msisdn, new AsyncCallback(SendInteractiveSmsResult), null);
            }
            else
            {
                SendInteractiveSms(node, largeAccount, msisdn);
            }
        }
Example #4
0
 private static void SendErrorMsgToMail(TaskBase task)
 {
     try
     {
         bool flag = string.IsNullOrEmpty(task.FailNoticeUserId);
         if (!flag)
         {
             SmsUtils.Send(task.FailNoticeUserId, string.Concat(new string[]
             {
                 "作业信息:<br/>应执行时间:",
                 task.RequiredExecuteTime.ToString(),
                 "<br/>实际执行时间:",
                 DateTime.Now.ToString(),
                 "<br/>执行失败!"
             }));
         }
     }
     catch
     {
     }
 }
Example #5
0
        /// <summary>
        /// 发送短信
        /// </summary>
        /// <param name="phone"></param>
        /// <returns></returns>
        protected Result <String> SendValidMessage(String phone)
        {
            Result <String> result = Result <String> .CreateInstance(ResultCode.Fail);

            //电话是否正确
            if (!RegUtils.ValidPhoneNumber(phone))
            {
                result.message = "请输入正确的手机号";
                return(result);
            }
            //手机号是否已经被医生注册
            if (UserService.IsPhoneExist(phone))
            {
                result.message = "该手机号已经被注册";
                return(result);
            }
            //短信是否在1分钟内已经发送过了。
            if (smsValidService.IsSended(SmsValidType.DoctorRegisteValid, phone))
            {
                result.message = "请在1分钟之后再请求短信发送";
                return(result);
            }

            //发送短信验证
            String validCode = random.Next(1000, 9999).ToString();

            if (!SmsUtils.SendValidCode(phone, validCode))
            {
                result.message = "服务器连接错误:短信发送失败";
                return(result);
            }
            if (!smsValidService.SendSmsValid(GetSmsValidType(), phone, validCode))
            {
                result.message = "服务器错误:获取短信验证失败";
                return(result);
            }
            result.SetSuccess();
            result.message = validCode;
            return(result);
        }
Example #6
0
        private void Page_Load(object sender, System.EventArgs e)
        {
            HeContext heContext = Global.App.OsContext;
            // Session[\"Hits\"] = 1 + ( int) Session[\"Hits\"];
            bool processedOk = false;

            try {
                heContext.Session.TenantId = Convert.ToInt32(Request.QueryString["tenantid"]);
                if (heContext.MOMsg != null)
                {
                    heContext.MOMsg = SmsUtils.BuildMsgFromRequest(Request);
                }
                AppUtils.DoOnMobileOriginatedMessage(heContext, ref heContext.MOMsg);
                Global.App.OsContext.Session.MSISDN = heContext.MOMsg.MSISDN;
                SmsLog.Write(DateTime.Now, heContext.AppInfo.eSpaceId, heContext.AppInfo.Tenant.Id, heContext.AppInfo.OsContext.Session.UserId, heContext.AppInfo.eSpaceName, "", 0, "", heContext.MOMsg);
                handleRequest(heContext);
                processedOk = true;
            } finally {
                DatabaseAccess.FreeupResources(processedOk);
            }
            Response.End();
        }
Example #7
0
        private async void SendButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                SendButton.IsEnabled = false;
                var smsDevice = cellularlineControls[CellularLineComboBox.SelectedIndex].device;

                var result = await SmsUtils.SendTextMessageAsync(smsDevice, convo.Participants.First(), ComposeTextBox.Text);

                if (!result)
                {
                    await new MessageDialog("We could not send one or some messages.", "Something went wrong").ShowAsync();
                }

                SendButton.IsEnabled = true;
                ComposeTextBox.Text  = "";
            }
            catch (Exception ex)
            {
                SendButton.IsEnabled = true;
                await new MessageDialog(ex.Message + " - " + ex.StackTrace).ShowAsync();
            }
        }
 public void SetupInteractiveSmsHandling(string origin, string destination, int nTenant, string patterns, int eSpaceId, string eSpaceName)
 {
     this.Url = "http://127.0.0.1/SmsHandler/" + SmsUtils.BuildSession(origin, destination) + "/iSmsNotificationHandler.asmx";
     // To make sure the session is not blocked, make an assynchronous request
     BeginSetupiSmsHandling(nTenant, patterns, eSpaceId, eSpaceName, new AsyncCallback(SetupiSmsHandlingResult), null);
 }