Пример #1
0
        public async Task <IActionResult> SendPayment(WalletTransactViewModel model, CancellationToken cancellationToken)
        {
            AjaxResult result = new AjaxResult("Error");

            if (ModelState.IsValid)
            {
                PayInput   input = new PayInput();
                CustomUser user  = await UserManager.GetUserAsync(User);

                input.Deposits    = model.Deposits;
                input.Description = "عملیات شارژ حساب";
                input.Redirect    = SiteSetting.CallBackUrl + $"?transactType={TransactType.Creditor}";
                input.PhoneNumber = user.PhoneNumber;
                PaymentRequest response = await Payment.PayAsync(input, cancellationToken);

                if (Assert.NotNull(response) && response.Status == 1 && Assert.NotNull(response.Token))
                {
                    result.Status      = "Success";
                    result.RedirectUrl = SiteSetting.RedirectUrl + response.Token;
                    user.PaymentToken  = response.Token;
                    await UserManager.UpdateAsync(user);

                    return(new JsonResult(result));
                }
                else
                {
                    result.Errors.Add(response.ErrorMessage);
                }

                return(new JsonResult(result));
            }
            result.AddErrors(ModelState);
            return(new JsonResult(result));
        }
Пример #2
0
        public async Task <IActionResult> Index(CancellationToken cancellationToken)
        {
            Guid UserID = Guid.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);

            List <Transact> wallets = await TransactRepository.GetWalletByUserIdAsync(UserID, cancellationToken);

            WalletTransactViewModel model = new WalletTransactViewModel
            {
                Wallets = wallets
            };

            return(PartialView("WalletTransactionPartialView", model));
        }