private void SendSmsChangeStatus(ShopOrderStatusSSOT status, string phoneNumber, string orderId, string fullName) { int bodyId = -1; switch (status) { case ShopOrderStatusSSOT.Ordered: bodyId = (int)SmsBaseCodeSSOT.Ordered; break; case ShopOrderStatusSSOT.Preparation: bodyId = (int)SmsBaseCodeSSOT.Preparation; break; case ShopOrderStatusSSOT.Loading: bodyId = (int)SmsBaseCodeSSOT.Loading; break; case ShopOrderStatusSSOT.transmission: bodyId = (int)SmsBaseCodeSSOT.transmission; break; case ShopOrderStatusSSOT.Delivery: bodyId = (int)SmsBaseCodeSSOT.Delivery; break; } string text = $"{fullName};{orderId}"; var result = _smsRestClient.SendByBaseNumber(text, phoneNumber, bodyId); }
public IActionResult testMobasher() { ViewBag.MQuery = this._newsGroupRepository.ddd(); var text = $"{12345},{DateTime.Now.ToPersianDay()}"; var phoneNumber = "09034537712"; var smsResult = _smsRestClient.SendByBaseNumber(text, phoneNumber, (int)SmsBaseCodeSSOT.SetOrder); return(View()); }
public async Task <IActionResult> ForgetPassword(ForgetPasswordViewModel vm) { var model = await _userRepository .GetByConditionAsync(a => a.UserName == vm.UserName && a.PhoneNumber == vm.PhoneNumber); if (model == null) { TempData.AddResult(SweetAlertExtenstion.Error("کاربری یافت نشد")); return(View()); } var text = "param1;param2"; var resultSms = _smsRestClient.SendByBaseNumber(model.ActiveCode.ToPersianNumbers(), model.PhoneNumber, (int)SmsBaseCodeSSOT.ForgetPassword); return(RedirectToAction("AuthorizeCode", new { code = model.SecurityStamp })); }
public async Task <IActionResult> Register(RegisterViewModel model, string ReturnUrl = null) { if (ModelState.IsValid) { //if (!model.IsAccept) //{ // TempData.AddResult(SweetAlertExtenstion.Error("لطفا شرایط را مطالعه و تایید کنید")); // return View(model); //} var user = AutoMapper.Mapper.Map <Users>(model); // درصورتی که چنین کاربری از قبل وجود نداشته باشد var userResult = await _userRepository.GetByConditionAsync(x => x.UserName == model.UserName); if (userResult == null) { var isPhoneNumberExist = await _userRepository.GetByConditionAsync(x => x.PhoneNumber == model.PhoneNumber); if (isPhoneNumberExist == null) { var resultCreatUser = await _userManager.CreateAsync(user, model.Password); // درصورتیکه کاربر مورد نظر با موفقیت ثبت شد آن را لاگین میکنیم if (resultCreatUser.Succeeded) { //await _signInManager.SignInAsync(user, isPersistent: false); var activeCode = await _userRepository.GenerateCode(user.Id); var text = activeCode.ToPersianNumbers(); var resultSms = _smsRestClient.SendByBaseNumber(text, user.PhoneNumber, (int)SmsBaseCodeSSOT.Register); return(RedirectToAction("AuthorizePhoneNumber", "Account", new { sec = user.SecurityStamp })); } else { if (resultCreatUser.Errors.Any(a => a.Code.Contains("DuplicateEmail"))) { ViewBag.ErrorMessages = "ایمیل وارد شده تکراری می باشد"; } TempData.AddResult(SweetAlertExtenstion.Error("عملیات با خطا مواجه شد لطفا مجددا تلاش نمایید")); return(View(model)); } } else { TempData.AddResult(SweetAlertExtenstion.Error("شماره تلفن وارد شده تکراری می باشد")); return(View(model)); } } else { TempData.AddResult(SweetAlertExtenstion.Error("چنین کاربری از قبل وجود دارد")); return(View(model)); } } var errorMessage = ModelState.ExpressionsMessages(); TempData.AddResult(SweetAlertExtenstion.Error(errorMessage)); return(View(model)); }
public async Task <IActionResult> VerifyRequest(BankVerifyViewModel vm) { try { _logRepository.Add(new Log() { Text = $"Start => " }); // گرفتن اطلاعات فاکتور بر اساس شناسه خرید و شناسه گاربری var model = _usersPaymentRepository.GetByCondition(a => a.OrderId == vm.OrderId && a.Token == vm.Token); await _usersPaymentRepository.ResultOrderCallBack(model.ShopOrderId.Value, model.OrderId, UserId); // رمز گذاری توکن var dataBytes = Encoding.UTF8.GetBytes(vm.Token); var symmetric = SymmetricAlgorithm.Create("TripleDes"); symmetric.Mode = CipherMode.ECB; symmetric.Padding = PaddingMode.PKCS7; var encryptor = symmetric.CreateEncryptor(Convert.FromBase64String(_bankConfig.MerchantKey), new byte[8]); var signedData = Convert.ToBase64String(encryptor.TransformFinalBlock(dataBytes, 0, dataBytes.Length)); var data = new { token = vm.Token, SignData = signedData }; var ipgUri = string.Format("{0}/api/v0/Advice/Verify", _bankConfig.PurchasePage); var res = CallApi <BankCallBackResultViewModel>(ipgUri, data); _logRepository.Add(new Log() { Text = $"1 => " + ((res != null && res.Result != null) ? "" : "") }); if (res != null && res.Result != null) { await _usersPaymentRepository.ResultOrder(model.ShopOrderId.Value, model.OrderId, UserId, res.Result.Succeed, res.Result.ResCode); _logRepository.Add(new Log() { Text = $"2 => " + res.Result.ResCode.ToString() }); if (res.Result.ResCode == "3000") { vm.VerifyResultData = res.Result; res.Result.Succeed = true; ViewBag.Success = res.Result.Description; // تغییر وضعیت فاکتور از پیش خرید به خرید شده await _shopOrderRepository.SuccessedOrder(model.ShopOrderId.Value, model.UserId); // تغییر وضعیت سبد خرید await _shopProductRepository.SuccessedOrder(model.ShopOrderId.Value, model.UserId); // ثبت کردن اطلاعات در وضعیت await _shopOrderStatusRepository.InsertAsync(new ShopOrderStatusInsertViewModel() { Date = DateTime.Now, ShopOrderId = model.ShopOrderId.Value, Status = ShopOrderStatusSSOT.Ordered }); //// ارسال اس ام اس به کاربر جهت ثبت سفارش //var text = $"{model.OrderId};{DateTime.Now.ToPersianDay()}"; //var phoneNumber = _userRepository.GetByCondition(a => a.Id == model.UserId).PhoneNumber; //var smsResult = _smsRestClient.SendByBaseNumber(text, phoneNumber, (int)SmsBaseCodeSSOT.SetOrder); //// ارسال اس ام اس به مدیریت //var ResultTest = $"{DateTime.Now.ToPersianDay()};{model.OrderId}"; //var ResultSms = _smsRestClient.SendByBaseNumber(ResultTest, "09122013443", (int)SmsBaseCodeSSOT.Result); _logRepository.Add(new Log() { Text = $"3 => " + "Start send message" }); // ارسال اس ام اس به کاربر جهت ثبت سفارش var text = $"{model.ShopOrderId};{DateTime.Now.ToPersianDay()}"; var phoneNumber = _userRepository.GetByCondition(a => a.Id == model.UserId).PhoneNumber; var smsResult = _smsRestClient.SendByBaseNumber(text, phoneNumber, (int)SmsBaseCodeSSOT.SetOrder); // ارسال اس ام اس به مدیریت var ResultTest = $"{DateTime.Now.ToPersianDay()};{model.ShopOrderId}"; var sms1Result = _smsRestClient.SendByBaseNumber(ResultTest, "09122013443", (int)SmsBaseCodeSSOT.Result); var sms2Result = _smsRestClient.SendByBaseNumber(ResultTest, "09351631398", (int)SmsBaseCodeSSOT.Result); var sms3Result = _smsRestClient.SendByBaseNumber(ResultTest, "09104996615", (int)SmsBaseCodeSSOT.Result); _logRepository.Add(new Log() { Text = $"sms -> FirstUser>{sms1Result.RetStatus}-{sms1Result.Value}-{sms1Result.StrRetStatus}" }); _logRepository.Add(new Log() { Text = $"sms -> SecondUser>{sms2Result.RetStatus}-{sms2Result.Value}-{sms2Result.StrRetStatus}" }); _logRepository.Add(new Log() { Text = $"sms -> ThirtUser>{sms3Result.RetStatus}-{sms3Result.Value}-{sms3Result.StrRetStatus}" }); _logRepository.Add(new Log() { Text = $"3 => " + "End send message" }); return(RedirectToAction("Result", "UserOrder", new { orderId = res.Result.OrderId, shopOrderId = model.ShopOrderId })); } ViewBag.Message = res.Result.Description; return(RedirectToAction("Result", "UserOrder", new { orderId = model.OrderId, shopOrderId = model.ShopOrderId })); } } catch (Exception ex) { ViewBag.Message = ex.ToString(); _logRepository.Add(new Log() { Text = $"Error => {ex.ToString()}" }); } return(Redirect("/")); }
public async Task <IActionResult> SendToBank(int id, bool isOnlinePay = true) { var listOrders = await _shopProductRepository.GetListAsync(a => a.UserId == UserId && !a.IsFinaly && !a.IsFactorSubmited); var orderId = await _shopOrderRepository.UpdatePaymentFactor(id, listOrders); // اگر پرداخت درب منزل بود ابتدا برایش یک فاکتور ایجاد میکنیم سپس به صفحه جزئیات فاکتور منتقلش میکنیم if (!isOnlinePay) { var createPayment = await _shopOrderPaymentRepository.CreateOfflinePayment(orderId); // ارسال اس ام اس به کاربر جهت ثبت سفارش var text = $"{orderId};{DateTime.Now.ToPersianDay()}"; var phoneNumber = _userRepository.GetByCondition(a => a.Id == UserId).PhoneNumber; var smsResult = _smsRestClient.SendByBaseNumber(text, phoneNumber, (int)SmsBaseCodeSSOT.SetOrder); // ارسال اس ام اس به مدیریت var ResultTest = $"{DateTime.Now.ToPersianDay()};{orderId}"; var sms1Result = _smsRestClient.SendByBaseNumber(ResultTest, "09122013443", (int)SmsBaseCodeSSOT.Result); var sms2Result = _smsRestClient.SendByBaseNumber(ResultTest, "09351631398", (int)SmsBaseCodeSSOT.Result); var sms3Result = _smsRestClient.SendByBaseNumber(ResultTest, "09104996615", (int)SmsBaseCodeSSOT.Result); _logRepository.Add(new Log() { Text = $"sms1Result+>{sms1Result.RetStatus}-{sms1Result.Value}-{sms1Result.StrRetStatus}" }); _logRepository.Add(new Log() { Text = $"sms2Result+>{sms2Result.RetStatus}-{sms2Result.Value}-{sms2Result.StrRetStatus}" }); _logRepository.Add(new Log() { Text = $"sms3Result+>{sms3Result.RetStatus}-{sms3Result.Value}-{sms3Result.StrRetStatus}" }); // await _treeRepository.CalculateRateTreeFromAmountAndInsert(result.PaymentAmount, model.UserId); // mohammad return(RedirectToAction("Result2", "UserOrder", new { shopOrderId = orderId })); //return RedirectToAction("OrderDetail", "Profile", new { id = orderId }); } // اگر پرداخت آنلاین بود ابتدا باید چک شود که فاکتور بیشتر از 50 ملیون میباشد یا خیر var countPaymentFactor = await _shopOrderPaymentRepository.CreatePayment(orderId); // اگر مبلغ کل بیشتر از 50 ملیون بود به صفحه جزئیات فاکتور منتقل شده if (orderId != 0 && countPaymentFactor > 1) { return(RedirectToAction("OrderDetail", "Profile", new { id = orderId })); } // اگر مبلغ کل کمتر از 50 ملیون بود به درگاه بانک منتقل می شود else if (orderId != 0 && countPaymentFactor == 1) { var paymentId = await _shopOrderPaymentRepository.GetByConditionAsync(a => a.ShopOrderId == orderId && !a.IsSuccess); return(await RequestByOrderPayment(paymentId.Id)); } //TODO // اینجا باید به جای دیگه ایی Redirectشود return(RedirectToAction("Index")); }