Example #1
0
        public async Task <BankCard> RemoveCard(string cardNumber)
        {
            ServiceValidator.IsInputStringEmptyOrNull(cardNumber);
            ServiceValidator.ValidateCardNumber(cardNumber);

            var bankCardQuery = await this.dbContext.BankCards
                                .FirstOrDefaultAsync(c => c.CardNumber == cardNumber && c.IsDeleted == false);

            ServiceValidator.ObjectIsNotEqualNull(bankCardQuery);

            bankCardQuery.IsDeleted = true;

            await this.dbContext.SaveChangesAsync();

            return(bankCardQuery);
        }
Example #2
0
        public async Task <BankCard> AddCard(string cardNumber, string userId, DateTime expiration)
        {
            ServiceValidator.IsInputStringEmptyOrNull(cardNumber);
            ServiceValidator.CheckStringLength(cardNumber, 16, 16);
            ServiceValidator.ValidateCardNumber(cardNumber);
            ServiceValidator.IsInputStringEmptyOrNull(userId);
            ServiceValidator.CheckCardExpirationDate(expiration);

            var bankCard = new BankCard()
            {
                CardNumber = cardNumber,
                UserId     = userId,
                Expiration = expiration,
                IsDeleted  = false,
            };

            await this.dbContext.BankCards.AddAsync(bankCard);

            await this.dbContext.SaveChangesAsync();

            return(bankCard);
        }