public async Task <DefaultResponseModel> AddCreditCardAsync(string token, CreditCardData creditCardData) { DefaultResponseModel response = new DefaultResponseModel { IsSuccessful = false, Message = string.Empty }; ClientData client = await sessionHandler.GetClientAsync(token); if (client == null) { response.Message = "Unauthorized user"; return(response); } CreditCardData cardInDatabase = await creditCardRepository.GetByNumberAsync(creditCardData.Number); if (cardInDatabase != null) { response.Message = "This card already registered in the database"; return(response); } creditCardData.ClientId = client.Id; creditCardData = await creditCardRepository.AddAsync(creditCardData); if (creditCardData.Id > 0) { response.IsSuccessful = true; } return(response); }
public async Task <CreditCardResponse> SaveAsync(int userId, CreditCard creditCard) { var existingUser = await userRepository.FindById(userId); if (existingUser == null) { return(new CreditCardResponse("User not found")); } try { creditCard.UserId = userId; await creditCardRepository.AddAsync(creditCard); await unitOfWork.CompleteAsync(); return(new CreditCardResponse(creditCard)); } catch (Exception ex) { return(new CreditCardResponse($"An error ocurred while saving the credit card: {ex.Message}")); } }
public async Task AddAsync(CreditCardAddModel model) { await _creditCardRepository.AddAsync(CreditCardFactory.Create(model, _userId)); await _unitOfWork.SaveChangesAsync(); }