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); }
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); }