Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
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);
        }