/// <summary> /// Checa se o usuário tem todos os requisitos apra abertura de conta. /// </summary> /// <param name="account"></param> /// <returns></returns> private bool ValidateAccount(Account account) { if (account.Money < 1000) { ConsoleUtils.PrintMessage("Falha: não abrimos conta com menos de 1000"); return(false); } var personStatus = new PersonStatusService(account.FirstName, account.LastName); if (!personStatus.NameIsClear()) { ConsoleUtils.PrintMessage("Falha: encontramos problemas financeiros relacionados este nome"); return(false); } if (personStatus.IsForeign()) { ConsoleUtils.PrintMessage("Falha: cliente estrangeiro"); return(false); } if (personStatus.HasCrimeHistory()) { ConsoleUtils.PrintMessage("Falha: encontramos histórico criminal relacionado este nome"); return(false); } return(true); }
private async Task <bool> ValidateLoanRequest(string firstname, string lastname, int loanAmount) { var personStatus = new PersonStatusService(firstname, lastname); if (!personStatus.NameIsClear()) { ConsoleUtils.PrintMessage("Empréstimo recusado: encontramos problemas financeiros relacionados este nome"); return(false); } if (personStatus.HasCrimeHistory()) { ConsoleUtils.PrintMessage("Empréstimo recusado: encontramos histórico criminal relacionado este nome"); return(false); } var account = await BankService.GetInstance().TryGetAccount(firstname, lastname); if (account == null) { ConsoleUtils.PrintMessage("Empréstimo recusado: O cliente não possui conta no nosso banco"); return(false); } if (loanAmount > account.Money) { ConsoleUtils.PrintMessage("Empréstimo recusado: Não fazemos empréstimos maiores que a quantia que o cliente possui em conta"); return(false); } return(true); }