示例#1
0
        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);
        }