public void CreatePayeeMandatoryFields()
        {
            BoletoFacil boletoFacil = GetBoletoFacil();
            Payee       payee       = Payee;

            PayeeResponse response = boletoFacil.CreatePayee(payee);

            Assert.IsNotNull(response);
            Assert.IsTrue(response.Success);
            Assert.IsNotNull(response.Data);
            Assert.IsInstanceOfType(response.Data, typeof(Payee));
            Assert.AreEqual("22FAC22222EE2D22222222ADDDDDBEF38B222222D22D22E2", response.Data.Token);
        }
        public void CreatePayeeAutoApprovedAndEmailOptOut()
        {
            BoletoFacil boletoFacil = GetBoletoFacil();
            Payee       payee       = Payee;

            payee.EmailOptOut = true;
            payee.AutoApprove = true;

            PayeeResponse response = boletoFacil.CreatePayee(payee);

            Assert.IsNotNull(response);
            Assert.IsTrue(response.Success);
            Assert.IsNotNull(response.Data);
            Assert.IsInstanceOfType(response.Data, typeof(Payee));
            Assert.AreEqual("22FAC22222EE2D22222222ADDDDDBEF38B222222D22D22E2", response.Data.Token);
        }
        public void CreatePayeeMethodNotAllowedException()
        {
            BoletoFacil boletoFacil = GetBoletoFacil();
            Payee       payee       = Payee;

            payee.CpfCnpj = "12345678000199";

            BoletoFacilRequestException response = AssertException <BoletoFacilRequestException>(() => boletoFacil.CreatePayee(payee));

            Assert.IsNotNull(response);
            Assert.AreEqual(405, response.HTTPStatusCode);
        }
        void CreatePayee()
        {
            string cpfCnpj = null;
            string email   = null;

            while (String.IsNullOrEmpty(cpfCnpj))
            {
                Console.WriteLine("");
                Console.WriteLine("Entre o CPF/CNPJ do novo favorecido:");
                cpfCnpj = Console.ReadLine();
            }

            while (String.IsNullOrEmpty(email))
            {
                Console.WriteLine("");
                Console.WriteLine("Entre o email do novo favorecido:");
                email = Console.ReadLine();
            }

            Payee payee = new Payee();

            payee.Name            = "Favorecido do SDK .NET";
            payee.CpfCnpj         = cpfCnpj;
            payee.Email           = email;
            payee.Password        = "******";
            payee.BirthDate       = DateTime.Today.AddYears(-19);
            payee.Phone           = "(41) 99876-5432";
            payee.LinesOfBusiness = "bla";
            payee.AccountHolder   = new Person {
                Name = "Favorecido do SDK .NET", CpfCnpj = cpfCnpj
            };
            payee.BankAccount = new BankAccount
            {
                BankAccountType         = BankAccountType.CHECKING,
                BankNumber              = "237",
                AgencyNumber            = "123",
                AccountNumber           = "4567",
                AccountComplementNumber = 0
            };
            payee.Category = Category.OTHER;
            payee.Address  = new Address
            {
                Street   = "Rua Teste",
                Number   = "123",
                City     = "4106902",
                State    = "PR",
                Postcode = "80100010"
            };
            payee.BusinessAreaId = 1000;

            try
            {
                var response = boletoFacil.CreatePayee(payee);
                ShowObjectResponseHeader();
                Console.WriteLine(response.Data);
                ShowResponseSerialized(response);
            }
            catch (BoletoFacilException e)
            {
                HandleException(e);
            }
            finally
            {
                DoneMessage();
            }
        }