public async Task <string> AddCreditCardAsync(AddCreditCard addCreditCardModel) { logger.LogDebug($"Within {nameof(AddCreditCardAsync)} method."); var ValidLimit = this.validationBuilder.ValidateCardLimit(addCreditCardModel.CreditLimit, out string errorMessage); if (!ValidLimit) { ErrorMessages.Add($"{addCreditCardModel.CardHolderName}:{errorMessage}"); return($"{addCreditCardModel.CardHolderName}:{errorMessage}"); } var ValidateCardHolderName = this.validationBuilder.ValidateCardName(addCreditCardModel.CardHolderName, out string InValidCardHolderError); if (!ValidateCardHolderName) { ErrorMessages.Add($"{addCreditCardModel.CardHolderName}:{InValidCardHolderError}"); return($"{addCreditCardModel.CardHolderName}:{InValidCardHolderError}"); } var ValidateCardNumber = this.validationBuilder.ValidateCardNumber(addCreditCardModel.CardNumber, out string InValidCardNumberError); if (!ValidateCardNumber) { ErrorMessages.Add($"{addCreditCardModel.CardHolderName}:{InValidCardNumberError}"); return($"{addCreditCardModel.CardHolderName}:{InValidCardNumberError}"); } logger.LogDebug($"Validation is Successfull"); CreditCard dbObject = mapper.Map <CreditCard>(addCreditCardModel); dbObject.TotalCreditLimit = addCreditCardModel.CreditLimit; logger.LogInformation($"Created DbObject for Creating a new CreditCard"); logger.LogInformation($"All Validations were Succeeded"); string response = await creditCardService.AddCreditCardAsync(dbObject); if (response == "success") { logger.LogInformation($"Credit Card Added Successfully"); return($"{dbObject.CardHolderName}:${dbObject.Balance}"); } return($"{addCreditCardModel.CardHolderName}:An Error occured while processing the request"); }