コード例 #1
0
        private void RunCreditPolices(ClientContext context, Client client)
        {
            try
            {
                /**
                 * Executa a lista de politicas atuais de maneira dinâmica. Para o processo quando recusada.
                 */
                foreach (EnumPolice enumPolice in Enum.GetValues(typeof(EnumPolice)))
                {
                    client = FactoryCreditPolice.CreateCreditPolice(enumPolice).Process(client);
                    if (client.Result == "refused")
                    {
                        break;
                    }
                }

                if (client.Result != "refused")
                {
                    client.Result         = "approved";
                    client.Refused_policy = null;
                }

                client.IsComplete = true;
                context.Clients.Update(client);
                context.SaveChangesAsync();
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #2
0
        public void TestScore()
        {
            Client client = new Client();

            client.Cpf = "32165498700";
            var result = FactoryCreditPolice.CreateCreditPolice(EnumPolice.SCORE).Process(client);

            Assert.IsTrue(result.Score > 0 && result.Score < 1000);
        }
コード例 #3
0
        public void TestMaiorIdade()
        {
            Client client = new Client();

            client.Birthdate = DateTime.Parse("1900-01-01");
            var result = FactoryCreditPolice.CreateCreditPolice(EnumPolice.AGE).Process(client);

            Assert.AreNotEqual("age", result.Refused_policy);
        }
コード例 #4
0
        public void TestCommitmentApproved()
        {
            Client client = new Client();

            client.Cpf    = "09876543210";
            client.Amount = 1500;
            client.Income = 1000;
            client.Terms  = 6;
            client.Score  = 700;
            var result = FactoryCreditPolice.CreateCreditPolice(EnumPolice.COMMITMENT).Process(client);

            Assert.IsNull(result.Refused_policy);
        }
コード例 #5
0
        public void TestScoreMenor600()
        {
            Client client = new Client();

            client.Cpf = "12345678901";
            var result = FactoryCreditPolice.CreateCreditPolice(EnumPolice.SCORE).Process(client);

            if (result.Score < 600)
            {
                Assert.AreEqual("score", result.Refused_policy);
            }
            else
            {
                Assert.AreNotEqual("score", result.Refused_policy);
            }
        }