Beispiel #1
0
        public void ShouldTrimCpf()
        {
            string cpf = "    706.534.060-02   ";
            string expectedFormatedCpf = "706.534.060-02";

            CpfValidator cpfValidator = new CpfValidator();

            Assert.Equal(cpfValidator.Format(cpf, CodeFormat.Trim), expectedFormatedCpf);
        }
Beispiel #2
0
        public void ShouldFormatCpfWithoutSeparators()
        {
            string cpf = "706.534.060-02";
            string expectedFormatedCpf = "70653406002";

            CpfValidator cpfValidator = new CpfValidator();

            Assert.Equal(cpfValidator.Format(cpf, CodeFormat.WithoutNumberSeparator | CodeFormat.WithoutDigitSeparator), expectedFormatedCpf);
        }
Beispiel #3
0
        public void ShouldFormatCpfWithoutDigit()
        {
            string cpf = "706.534.060-02";
            string expectedFormatedCpf = "706.534.060";

            CpfValidator cpfValidator = new CpfValidator();

            Assert.Equal(cpfValidator.Format(cpf, CodeFormat.WithoutDigit), expectedFormatedCpf);
        }
Beispiel #4
0
        public async Task <ActionResult <Customer> > Create(string nome, string estado, string cpf)
        {
            List <string> errorMessages = new List <string>();

            if (String.IsNullOrEmpty(nome))
            {
                errorMessages.Add("'Nome' não pode estar em branco");
            }
            if (String.IsNullOrEmpty(estado))
            {
                errorMessages.Add("'Estado' não pode estar em branco");
            }
            if (String.IsNullOrEmpty(cpf))
            {
                errorMessages.Add("'CPF' não pode estar em branco");
            }

            if (!_cpfValidator.IsValid(cpf))
            {
                errorMessages.Add("CPF inválido");
            }

            if (errorMessages.Count > 0)
            {
                return(BadRequest(new { errors = errorMessages }));
            }

            cpf = _cpfValidator.Format(cpf, CodeFormat.Trim | CodeFormat.WithoutDigitSeparator | CodeFormat.WithoutNumberSeparator);

            Customer customer = await _customerService.GetAsync(cpf);

            if (customer != null)
            {
                return(BadRequest(new { error = "Não é permitido CPF duplicado" }));
            }

            customer = new Customer()
            {
                Cpf   = cpf,
                Name  = nome,
                State = estado
            };

            await _customerService.CreateAsync(customer);

            return(CreatedAtAction(nameof(GetById), new { cpf = cpf }, customer));
        }
Beispiel #5
0
        public async Task <ActionResult <Bill> > Create([FromForm] DateTime dataVencimento, [FromForm] string cpf, [FromForm] double valorCobranca)
        {
            CpfValidator cpfValidator = new CpfValidator();

            if (!cpfValidator.IsValid(cpf))
            {
                return(BadRequest(new { errors = new { cpf = new[] { "Valor inválido" } } }));
            }

            cpf = cpfValidator
                  .Format(cpf, CodeFormat.Trim | CodeFormat.WithoutDigitSeparator | CodeFormat.WithoutNumberSeparator);

            Bill bill = new Bill()
            {
                DueDate  = dataVencimento.Date,
                PersonId = cpf,
                Value    = valorCobranca
            };

            bill = await _billService.CreateAsync(bill);

            return(Ok(bill));
        }