public async Task <IActionResult> UpdateBankCard(string id, BankCardForUpdateDto bankCardForUpdateDto)
        {
            var bankCardFromRepo = await _db.BankCardRepository.GetByIdAsync(id);

            if (bankCardFromRepo != null)
            {
                if (bankCardFromRepo.UserId == User.FindFirst(ClaimTypes.NameIdentifier).Value)
                {
                    var bankCard = _mapper.Map(bankCardForUpdateDto, bankCardFromRepo);
                    bankCard.Approve = false;
                    _db.BankCardRepository.Update(bankCard);

                    if (await _db.SaveAsync())
                    {
                        return(NoContent());
                    }
                    else
                    {
                        return(BadRequest("خطا در ثبت اطلاعات"));
                    }
                }
                else
                {
                    _logger.LogError($"کاربر   {RouteData.Values["userId"]} قصد اپدیت به کارت دیگری را دارد");

                    return(BadRequest("شما اجازه اپدیت کارت کاربر دیگری را ندارید"));
                }
            }
            {
                return(BadRequest("کارتی وجود ندارد"));
            }
        }
        public async Task <IActionResult> AddBankCard(string userId, BankCardForUpdateDto bankCardForUpdateDto)
        {
            var bankCardFromRepo = await _db.BankCardRepository
                                   .GetAsync(p => p.CardNumber == bankCardForUpdateDto.CardNumber && p.UserId == userId);

            var bankCardCount = await _db.BankCardRepository.BankCardCountAsync(userId);

            if (bankCardFromRepo == null)
            {
                if (bankCardCount <= 10)
                {
                    var cardForCreate = new BankCard()
                    {
                        UserId  = userId,
                        Approve = false
                    };
                    var bankCard = _mapper.Map(bankCardForUpdateDto, cardForCreate);

                    await _db.BankCardRepository.InsertAsync(bankCard);

                    if (await _db.SaveAsync())
                    {
                        var bankCardForReturn = _mapper.Map <BankCardForReturnDto>(bankCard);

                        return(CreatedAtRoute("GetBankCard", new { v = HttpContext.GetRequestedApiVersion().ToString(), id = bankCard.Id, userId = userId }, bankCardForReturn));
                    }
                    else
                    {
                        return(BadRequest("خطا در ثبت اطلاعات"));
                    }
                }
                {
                    return(BadRequest("شما اجازه وارد کردن بیش از 10 کارت را ندارید"));
                }
            }
            {
                return(BadRequest("این کارت قبلا ثبت شده است"));
            }
        }