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("این کارت قبلا ثبت شده است")); } }