/// <inheritdoc /> public IEnumerable <CustomModelError> ValidateTransferDto(TransactionPostDto transaction) { var result = new List <CustomModelError>(); result .AddError(() => transaction.From.ToNormalizedCardNumber() == transaction.To.ToNormalizedCardNumber(), "from", "From card and to card is Equal", "Нельзя перевести на ту же карту", TypeCriticalException.CARD) .AddError(() => !_cardChecker.CheckCardEmitter(transaction.From), "from", "Card number is invalid", "Номер карты неверный", TypeCriticalException.CARD) .AddError(() => !_cardChecker.CheckCardEmitter(transaction.To), "to", "Card number is invalid", "Номер карты неверный", TypeCriticalException.CARD) .AddError(() => transaction.Sum <= 0, "sum", "Sum must be greater then 0", "Сумма должна быть больше 0"); return(result); }
public void CheckCardEmitted_CardWasNotEmittedByAlfabank_ReturnFalse(string value) { // Act var cardWasEmittedByAlfabank = _cardChecker.CheckCardEmitter(value); // Assert Assert.False(cardWasEmittedByAlfabank); }
public void GenerateNewCardNumber_CorrectCardType_ReturnCorrectCardNumber(CardType type) { // Act var cardNumber = _cardNumberGenerator.GenerateNewCardNumber(type); var validationResult = _cardChecker.CheckCardEmitter(cardNumber); // Assert Assert.True(validationResult); }
public ActionResult <CardGetDto> Get([CreditCard] string number) { // Validate if (!_cardChecker.CheckCardEmitter(number)) { ModelState.AddModelError("number", "This card number is invalid"); } if (!ModelState.IsValid) { _logger.LogStateWarning("This card number is invalid.", ModelState); return(BadRequest(ModelState)); } // Select var user = _userRepository.GetUser(User.Identity.Name); if (user == null) { return(Forbid()); } var card = _cardRepository.GetWithTransactions(user, number, true); if (card == null) { _logger.LogWarning("This card number was not found. {number}", number); return(NotFound()); } // Mapping var dto = _dtoFactory.Map(card, TryValidateModel); // Validate if (dto != null) { return(Ok(dto)); } _logger.LogWarning("This card number was not found. {number}", number); return(NotFound()); }
public ActionResult <IEnumerable <TransactionGetDto> > Get( [Required][CreditCard] string number, [FromQuery][Range(1, 1000)] int skip = 0) { // Validate if (!_cardChecker.CheckCardEmitter(number)) { ModelState.AddModelError("number", "This card number is invalid"); } if (!ModelState.IsValid) { _logger.LogStateWarning("This model is invalid.", ModelState); return(BadRequest(ModelState)); } // Select var user = _userRepository.GetUser(User.Identity.Name); if (user == null) { return(Forbid()); } var transactions = _transactionRepository.Get( user, number, skip, 10); // Mapping var transactionsDto = _dtoFactory.Map(transactions, TryValidateModel); // Return return(Ok(transactionsDto)); }