Beispiel #1
0
        public async Task <JsonResult> SendSMS(
            [FromQuery(Name = "phone")] string phone,
            [FromQuery(Name = "from")] string from,
            [FromQuery(Name = "content")] string content)
        {
            var customer = new Customer();

            if (!string.IsNullOrEmpty(phone) && !string.IsNullOrEmpty(from) && !string.IsNullOrEmpty(content))
            {
                customer.Phone        = phone;
                customer.Alphanumeric = from;
                customer.Content      = content;

                _context.Customer.Add(customer);
                _context.SaveChanges();
            }
            else
            {
                return(new JsonResult(NotFound()));
            }

            var sms = new SmsSender();

            var response = await sms.Send(customer.Alphanumeric, customer.Phone, customer.Content);

            return(new JsonResult(new { customer, response }));
        }
Beispiel #2
0
    protected void btnResend_Click(object sender, EventArgs e)
    {
        _sms_EMAIL_DB_Entities = new SMS_EMAIL_DB_Entities();
        var smsId = long.Parse(hdnFldSMSId.Value);

        sms = _sms_EMAIL_DB_Entities.tbl_Emails_SMS.Where(x => x.Id == smsId).First();
        var phone           = sms.Mobile_Number;
        var message         = sms.Text;
        var sms_code        = SmsSender.Send(phone, message);
        var sms_code_decode = StringHelper.ConvertResponseCode(sms_code);

        sms.SMS_Code        = sms_code;
        sms.SMS_Code_Decode = sms_code_decode;
        sms.SMS_Sent_At     = DateTime.Now;
        _sms_EMAIL_DB_Entities.SaveChanges();
        tEvent = new tbl_Events {
            Created_At   = DateTime.Now,
            Code         = sms_code,
            Status       = sms_code_decode,
            Email_Sms_Id = sms.Id
        };
        _sms_EMAIL_DB_Entities.AddTotbl_Events(tEvent);
        _sms_EMAIL_DB_Entities.SaveChanges();
        Session["NoticeMessage"] = "Please check SMS status !";
        Response.Redirect("Details.aspx?id=" + smsId.ToString());
    }
Beispiel #3
0
 public void SmsSendSuccess()
 {
     using (SmsSender sender = new SmsSender("petforaweek", "1d0aa72cdd149", "petforaweek"))
     {
         sender.Send("79260353551", "1234");
     }
 }
        public ActionResult Register(RegisterViewModel register)
        {
            if (ModelState.IsValid)
            {
                string haspass = FormsAuthentication.HashPasswordForStoringInConfigFile(register.Password, "MD5");
                Random rand    = new Random();
                int    mycode  = rand.Next(100000, 900000);


                if (!db.Users.Any(u => u.Mobile == register.Mobile))
                {
                    User user = new User()

                    {
                        Mobile     = register.Mobile,
                        Password   = haspass,
                        RoleId     = db.Roles.Max(r => r.Id),
                        CodeNumber = mycode.ToString()
                    };
                    db.Users.Add(user);
                    db.SaveChanges();

                    SmsSender sms = new SmsSender();
                    sms.Send(register.Mobile, "ثبت نام شما در فروشگاه انجام شد" + Environment.NewLine + "کد فعال سازی شما " + mycode.ToString());
                    return(RedirectToAction(""));
                }

                else
                {
                    ModelState.AddModelError("Mobile", "شما فبلا ثبت نام کردید");
                }
            }
            return(View(register));
        }
Beispiel #5
0
        public void Execute()
        {
            while (true)
            {
                var receiver = _notificationReceiverRepository.Find();
                if (receiver == null)
                {
                    break;
                }

                if (receiver.Notification.MessageType == MessageType.Email)
                {
                    if (string.IsNullOrEmpty(receiver.Client?.Email))
                    {
                        Callback(new SendResult {
                            ReceiverId = receiver.Id, StatusMessage = "У получателя не заполнен email", Success = false
                        });
                        continue;
                    }

                    _emailSender.Send(receiver.Notification.Subject, receiver.Notification.Message,
                                      new List <MessageReceiver>
                    {
                        new MessageReceiver
                        {
                            ReceiverId      = receiver.Id,
                            ReceiverName    = receiver.Client.Fullname,
                            ReceiverAddress = receiver.Client.Email
                        }
                    }, Callback
                                      );
                }
                else if (receiver.Notification.MessageType == MessageType.Sms)
                {
                    if (string.IsNullOrEmpty(receiver.Client?.MobilePhone))
                    {
                        Callback(new SendResult {
                            ReceiverId = receiver.Id, StatusMessage = "У получателя не заполнен телефон", Success = false
                        });
                        continue;
                    }

                    _smsSender.Send(receiver.Notification.Subject, receiver.Notification.Message,
                                    new List <MessageReceiver>
                    {
                        new MessageReceiver
                        {
                            ReceiverId      = receiver.Id,
                            ReceiverName    = receiver.Client.Fullname,
                            ReceiverAddress = receiver.Client.MobilePhone
                        }
                    }, Callback
                                    );
                }
            }
        }
Beispiel #6
0
 public void Send()
 {
     try
     {
         var result = sms.Send("test").Result;
         Assert.AreEqual(HttpStatusCode.Created, result.StatusCode);
         Assert.IsNotNull(result.Data.status);
     }
     catch (Exception e) {
         Assert.Fail();
     }
 }
Beispiel #7
0
    void sendSMS(string phoneNumber)
    {
        var message = txtText.Text.ToString().Trim();
        var unicode = rblSMSLanguage.SelectedValue == "English" ? "E" : "U";

        _responseXml = SmsSender.Send(phoneNumber, message);
        GetSmsCodeAndDescription(_responseXml);
        var sms_code_decode = StringHelper.ConvertTamyozResponseCode(_smsCode);

        var currentUserId = CurrentUser.Id();

        email = new tbl_Emails_SMS
        {
            Claim_Number  = txtClaimNumber.Text,
            Policy_Number = txtPolicyNumber.Text,
            TP_Name       = txtTpName.Text,
            Email         = txtEmail.Text,
            Mobile_Number = phoneNumber,
            Text          = message,
            //Text = tpl.Text,
            Type                   = "SMS",
            SMS_Code               = _smsCode,
            SMS_Code_Decode        = sms_code_decode,
            SMS_Code_Decode_Arabic = _smsDescription,
            //SMS_Language = tpl.Language,
            SMS_Language = rblSMSLanguage.SelectedValue,
            User_Id      = currentUserId,
            Created_At   = DateTime.Now,
            SMS_Sent_At  = DateTime.Now,
            TP_ID        = txtTPID.Text,
            Template_Id  = id
        };
        _sms_EMAIL_DB_Entities.AddTotbl_Emails_SMS(email);
        _sms_EMAIL_DB_Entities.SaveChanges();
        tEvent = new tbl_Events
        {
            Created_At   = DateTime.Now,
            Code         = _smsCode,
            Status       = sms_code_decode,
            Email_Sms_Id = email.Id
        };
        _sms_EMAIL_DB_Entities.AddTotbl_Events(tEvent);
        _sms_EMAIL_DB_Entities.SaveChanges();
        Session["NoticeMessage"] = "Please check SMS status !";
    }
        public ActionResult CheckMobile(CheckMobileViewModel check)
        {
            if (ModelState.IsValid)
            {
                var user = db.Users.FirstOrDefault(u => u.Mobile == check.Mobile);

                if (user != null)
                {
                    SmsSender sms = new SmsSender();
                    sms.Send(check.Mobile, "کد تایید شما برای تغییر کلمه عبور " + user.CodeNumber + "می باشد");

                    return(RedirectToAction("ForgetPassword"));
                }
                else
                {
                    ModelState.AddModelError("Mobile", "شما هنوز ثبت نام نکردید");
                }
            }

            return(View(check));
        }
        public override void DoInvoke()
        {
            try
            {
                const string subject = "Echo search failed";
                const string body    = "Call to echo SearchSupporterGroup method failed - the echo service appears to be down";

                if (!SearchSuccessful())
                {
                    //search again
                    if (!SearchSuccessful())
                    {
                        SmsSender.Send(subject, body);
                        EmailSender.Send(subject, body);
                    }
                }
            }
            catch (Exception ex)
            {
                _defaultEmailSender.Send("Echo search failed", string.Format("Call to echo SearchSupporterGroup method failed: {0}", ex));
            }
        }
Beispiel #10
0
        public HttpResponseMessage SendSignUpSMS([FromBody] string mobile)
        {
            if (string.IsNullOrWhiteSpace(mobile))
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, MakeMessage("手机号不能为空")));
            }


            string code    = WebFunctions.GetRandomNumber(4);
            string content = "注册验证码(" + code + "),用于验证(" + ConstValue.SmsEffectiveTime.ToString() + "分钟内有效)。请勿向任何人提供您收到的验证码";

            string result = string.Empty;

            try
            {
                result = SmsSender.Send(mobile, content);
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, MakeMessage("发送失败:" + ex.Message)));
            }

            SMSLog newSms = new SMSLog()
            {
                code        = code,
                phone       = mobile,
                smsType     = ConstValue.SmsType.SignUp,
                status      = ConstValue.SmsStatus.Pending,
                textContent = content,
                createTime  = DateTime.Now,
                result      = result,
            };

            DB.SMSLog.Add(newSms);
            DB.SaveChanges();

            return(Request.CreateResponse(HttpStatusCode.OK, MakeMessage("已发送")));
        }
        public override void DoInvoke()
        {
            var p      = _transactionDomainContext.EchoWebServiceRequests.OrderByDescending(n => n.Id).Take(_takecount).ToList();
            var failed = p.Where(echoWebServiceRequest => echoWebServiceRequest.Status == EchoWebServiceStatus.Failed).ToList();

            if (failed.Count() > _takecount - 3)
            {
                if (_smsCount < 3)
                {
                    SmsSender.Send("An error has been raised by the EchoWebProcessor checker",
                                   string.Format("At least {0} errors have occurred out of the last {1}", failed.Count(), _takecount));
                    _smsCount++;
                }

                var sb = new StringBuilder();

                foreach (var echoWebServiceRequest in failed)
                {
                    sb.Append(echoWebServiceRequest.TransactionId + "\n");
                }
                EmailSender.Send("An error has been raised by the EchoWebProcessor checker",
                                 string.Format("At least {0} errors have occurred out of the last {1}\n{2}", failed.Count(), _takecount, sb));
            }
        }
        public ActionResult BankCallback()
        {
            bool   Run_bpReversalRequest = false;
            long   saleReferenceId       = -999;
            long   saleOrderId           = -999;
            string resultCode_bpPayRequest;

            BankMellat bankmellat = new BankMellat();

            try
            {
                saleReferenceId         = long.Parse(Request.Params["SaleReferenceId"].ToString());
                saleOrderId             = long.Parse(Request.Params["SaleOrderId"].ToString());
                resultCode_bpPayRequest = Request.Params["ResCode"].ToString();

                //Result Code
                string resultCode_bpinquiryRequest = "-9999";
                string resultCode_bpSettleRequest  = "-9999";
                string resultCode_bpVerifyRequest  = "-9999";

                if (int.Parse(resultCode_bpPayRequest) == (int)BankMellat.MellatBankReturnCode.ﺗﺮاﻛﻨﺶ_ﺑﺎ_ﻣﻮﻓﻘﻴﺖ_اﻧﺠﺎم_ﺷﺪ)
                {
                    resultCode_bpVerifyRequest = bankmellat.VerifyRequest(saleOrderId, saleOrderId, saleReferenceId);

                    if (string.IsNullOrEmpty(resultCode_bpVerifyRequest))
                    {
                        resultCode_bpinquiryRequest = bankmellat.InquiryRequest(saleOrderId, saleOrderId, saleReferenceId);
                        if (int.Parse(resultCode_bpinquiryRequest) != (int)BankMellat.MellatBankReturnCode.ﺗﺮاﻛﻨﺶ_ﺑﺎ_ﻣﻮﻓﻘﻴﺖ_اﻧﺠﺎم_ﺷﺪ)
                        {
                            //the transactrion faild
                            TempData["Message"]   = bankmellat.DesribtionStatusCode(int.Parse(resultCode_bpinquiryRequest.Replace("_", " ")));
                            Run_bpReversalRequest = true;
                        }
                    }

                    if ((int.Parse(resultCode_bpVerifyRequest) == (int)BankMellat.MellatBankReturnCode.ﺗﺮاﻛﻨﺶ_ﺑﺎ_ﻣﻮﻓﻘﻴﺖ_اﻧﺠﺎم_ﺷﺪ)
                        ||
                        (int.Parse(resultCode_bpinquiryRequest) == (int)BankMellat.MellatBankReturnCode.ﺗﺮاﻛﻨﺶ_ﺑﺎ_ﻣﻮﻓﻘﻴﺖ_اﻧﺠﺎم_ﺷﺪ))
                    {
                        resultCode_bpSettleRequest = bankmellat.SettleRequest(saleOrderId, saleOrderId, saleReferenceId);
                        if ((int.Parse(resultCode_bpSettleRequest) == (int)BankMellat.MellatBankReturnCode.ﺗﺮاﻛﻨﺶ_ﺑﺎ_ﻣﻮﻓﻘﻴﺖ_اﻧﺠﺎم_ﺷﺪ) ||
                            (int.Parse(resultCode_bpSettleRequest) == (int)BankMellat.MellatBankReturnCode.ﺗﺮاﻛﻨﺶ_Settle_ﺷﺪه_اﺳﺖ))
                        {
                            TempData["Message"]  = "تراکنش شما با موفقیت انجام شد ";
                            TempData["Message"] += Environment.NewLine + " لطفا شماره پیگیری را یادداشت نمایید" + Environment.NewLine + saleReferenceId;
                        }
                        else
                        {
                            TempData["Message"]   = bankmellat.DesribtionStatusCode(int.Parse(resultCode_bpSettleRequest.Replace("_", " ")));
                            Run_bpReversalRequest = true;
                        }

                        // Save information to Database...

                        var factor = db.Factors.FirstOrDefault(f => f.NumberFactor == saleOrderId.ToString());

                        if (factor != null)
                        {
                            var user = db.Users.Find(factor.UserId);

                            factor.IsPay         = true;
                            factor.DatePay       = strTodey;
                            factor.TimePay       = System.DateTime.Now.ToShortTimeString();
                            factor.NumberControl = saleReferenceId.ToString();

                            db.SaveChanges();

                            SmsSender sms = new SmsSender();

                            sms.Send(user.Mobile, "صورتحساب جدید شما پرداخت شد. شماره پیگیری " + factor.NumberControl + "می باشد");

                            if (user != null)
                            {
                                System.Web.Security.FormsAuthentication.SetAuthCookie(user.Mobile, false);
                            }
                        }
                    }
                    else
                    {
                        TempData["Message"]   = bankmellat.DesribtionStatusCode(int.Parse(resultCode_bpVerifyRequest.Replace("_", " ")));
                        Run_bpReversalRequest = true;
                    }
                }
                else
                {
                    TempData["Message"]   = bankmellat.DesribtionStatusCode(int.Parse(resultCode_bpPayRequest)).Replace("_", " ");
                    Run_bpReversalRequest = true;
                }

                return(RedirectToAction("ShowError", "Payment"));
            }
            catch (Exception Error)
            {
                TempData["Message"] = "متاسفانه خطایی رخ داده است، لطفا مجددا عملیات خود را انجام دهید در صورت تکرار این مشکل را به بخش پشتیبانی اطلاع دهید";
                // Save and send Error for admin user
                Run_bpReversalRequest = true;
                return(RedirectToAction("ShowError", "Payment"));
            }
            finally
            {
                if (Run_bpReversalRequest) //ReversalRequest
                {
                    if (saleOrderId != -999 && saleReferenceId != -999)
                    {
                        bankmellat.bpReversalRequest(saleOrderId, saleOrderId, saleReferenceId);
                    }
                    // Save information to Database...
                }
            }
        }
Beispiel #13
0
        public HttpResponseMessage ReqeustCode()
        {
            try
            {
                var         respList = new List <string>();
                ResponseDTO resp;
                // Check Current User
                var currentUser = User as ServiceUser;
                if (currentUser == null)
                {
                    return(Request.CreateResponse(HttpStatusCode.Unauthorized, RespH.Create(RespH.SRV_UNAUTH)));
                }
                var account = AuthUtils.GetUserAccount(_context, currentUser);
                if (account == null)
                {
                    respList.Add(currentUser.Id);
                    return(Request.CreateResponse(HttpStatusCode.Unauthorized,
                                                  RespH.Create(RespH.SRV_USER_NOTFOUND, respList)));
                }

                var user = _context.Users.SingleOrDefault(x => x.Id == account.UserId);
                if (user == null)
                {
                    respList.Add(account.UserId);
                    return(Request.CreateResponse(HttpStatusCode.Unauthorized,
                                                  RespH.Create(RespH.SRV_USER_NOTFOUND, respList)));
                }
                var profile = _context.Profile.AsNoTracking().SingleOrDefault(x => x.Id == account.UserId);


                resp = CheckHelper.IsNull(profile.Phone, "Phone", RespH.SRV_USER_REQUIRED);
                if (resp != null)
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, resp));
                }

                if (user.PhoneStatus == ConstVals.PConf)
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest,
                                                  RespH.Create(RespH.SRV_USER_PHONE_CONFIRMED, new List <string> {
                        user.PhoneStatus
                    })));
                }
                if (user.PhoneCodeRequestedAt.HasValue && user.PhoneStatus == ConstVals.PPending)
                {
                    if (user.PhoneCodeRequestedAt.Value.AddMinutes(3) > DateTime.Now)
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadRequest,
                                                      RespH.Create(RespH.SRV_USER_PHONE_CONFIRM_REQUESTED,
                                                                   new List <string> {
                            user.PhoneCodeRequestedAt.ToString()
                        })));
                    }
                }
                var confirmCode = AuthUtils.RandomNumString(4);
                user.SaltedAndHashedSmsCode = AuthUtils.Hash(confirmCode, user.Salt);
                user.PhoneCodeRequestedAt   = DateTime.Now;
                user.PhoneStatus            = ConstVals.PPending;
                _context.MarkAsModified(user);
                _context.SaveChanges();

                var    regArt = _context.Article.SingleOrDefault(x => x.Name == ConstVals.Reg && x.Type == ConstVals.Sms);
                string smstext;
                if (regArt != null)
                {
                    smstext = confirmCode + " " + regArt.Text;
                }
                else
                {
                    smstext = confirmCode;
                }
                using (SmsSender sender = new SmsSender())
                {
                    sender.Send(profile.Phone, smstext);
                }
                return(Request.CreateResponse(HttpStatusCode.OK,
                                              RespH.Create(RespH.SRV_DONE, new List <string> {
                    user.PhoneStatus
                })));
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest,
                                              RespH.Create(RespH.SRV_EXCEPTION, new List <string> {
                    ex.InnerException.ToString()
                })));
            }
        }
Beispiel #14
0
        public IActionResult Resend([FromBody] int receiverId)
        {
            if (receiverId <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(receiverId));
            }

            var receiver = _notificationReceiverRepository.Get(receiverId);

            if (receiver == null)
            {
                throw new InvalidOperationException();
            }
            if (receiver.Status != NotificationStatus.Sent)
            {
                throw new PawnshopApplicationException("Уведомление указанному получателю еще не отправлено");
            }

            if (receiver.Notification.MessageType == MessageType.Email)
            {
                if (string.IsNullOrEmpty(receiver.Client?.Email))
                {
                    throw new PawnshopApplicationException("У получателя не заполнен email");
                }

                _emailSender.Send(receiver.Notification.Subject, receiver.Notification.Message,
                                  new List <MessageReceiver>
                {
                    new MessageReceiver
                    {
                        ReceiverId      = receiver.Id,
                        ReceiverName    = receiver.Client.Fullname,
                        ReceiverAddress = receiver.Client.Email
                    }
                },
                                  SenderCallback
                                  );
            }
            else if (receiver.Notification.MessageType == MessageType.Sms)
            {
                if (string.IsNullOrEmpty(receiver.Client?.MobilePhone))
                {
                    throw new PawnshopApplicationException("У получателя не заполнен мобильный телефон");
                }

                _smsSender.Send(receiver.Notification.Subject, receiver.Notification.Message,
                                new List <MessageReceiver>
                {
                    new MessageReceiver
                    {
                        ReceiverId      = receiver.Id,
                        ReceiverName    = receiver.Client.Fullname,
                        ReceiverAddress = receiver.Client.MobilePhone
                    }
                },
                                SenderCallback
                                );
            }

            return(Ok());
        }