示例#1
0
        public override void SetIdDocument(string value)
        {
            if (!Cnpj.Validate(value, CnpjPunctuation.Strict))
            {
                throw new BusinessRuleException("IdDocument", "CNPJ is invalid.");
            }

            IdDocument = value;
        }
示例#2
0
        public void ValidateReturnsTrueIfCnpjIsValidAndStrict(string strictCnpjString)
#endif
        {
#if NET40 || NET45
            var actual = Cnpj.Validate(CnpjTest.strictValidCnpj, CnpjPunctuation.Strict);
#else
            var actual = Cnpj.Validate(strictCnpjString, CnpjPunctuation.Strict);
#endif

            Assert.True(actual);
        }
示例#3
0
        public CompanyValidation()
        {
            RuleFor(s => Cnpj.Validate(s.Cnpj))
            .Equal(true)
            .WithMessage("O Cnpj esta invalido");



            RuleFor(s => Ie.Validate(s.Ie))
            .Equal(true)
            .WithMessage("O Inscrição Estadual esta invalido");
        }
示例#4
0
        /// <summary>
        /// Determines whether the specified value matches the pattern of a valid CNPJ.
        /// </summary>
        /// <param name="value">The value to validate.</param>
        /// <returns>true if the specified value is valid or null; otherwise, false.</returns>
        public override bool IsValid(object value)
        {
            var valueAsString = value as string;

            if (string.IsNullOrWhiteSpace(valueAsString))
            {
                return(true);
            }

            var isValid = Cnpj.Validate(valueAsString, this.punctuation);

            return(isValid);
        }
示例#5
0
        public void ValidateReturnsFalseIfCnpjIsValidButNotStrict()
        {
            var actual = Cnpj.Validate(looseValidCnpj, CnpjPunctuation.Strict);

            Assert.False(actual);
        }
示例#6
0
        public void ValidateReturnsFalseIfCnpjIsLooseAndGreaterThanFourteenCaracters()
        {
            var actual = Cnpj.Validate("12345678901234567890");

            Assert.False(actual);
        }
示例#7
0
        public void ValidateReturnsFalseIfCnpjContainsInvalidCharsAndItIsShorter()
        {
            var actual = Cnpj.Validate("714o256s8");

            Assert.False(actual);
        }
示例#8
0
        public void ValidateReturnsFalseIfCnpjIsEmpty()
        {
            var actual = Cnpj.Validate(string.Empty);

            Assert.False(actual);
        }
示例#9
0
        public void StrictValidateReturnsFalseIfCnpjIsNull()
        {
            var actual = Cnpj.Validate(null, CnpjPunctuation.Strict);

            Assert.False(actual);
        }
示例#10
0
        private void buttonSalvar_Click(object sender, EventArgs e)
        {
            maskedTextBoxCNPJ.TextMaskFormat = MaskFormat.ExcludePromptAndLiterals;
            var cnpj = maskedTextBoxCNPJ.Text;

            maskedTextBoxCNPJ.TextMaskFormat = MaskFormat.IncludePromptAndLiterals;
            try
            {
                if (!string.IsNullOrEmpty(textBoxNome.Text) ||
                    !string.IsNullOrEmpty(maskedTextBoxCNPJ.Text) ||
                    !string.IsNullOrEmpty(textBoxEndereco.Text))
                {
                    var context = new ApplicationDbContext();

                    // valida CNPJ
                    var valida = Cnpj.Validate(maskedTextBoxCNPJ.Text);
                    if (valida == true)
                    {
                        if (buttonSalvar.Text == "Salvar")
                        {
                            //verifica se o CNPJ ja esta cadastrado
                            int existe = context.Fornecedores.Where(x => x.Cnpj == cnpj).Count();

                            if (existe >= 1)
                            {
                                MessageBox.Show($"O CNPJ {maskedTextBoxCNPJ.Text} já esta cadastrado", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                maskedTextBoxCNPJ.Focus();
                            }
                            else
                            {
                                var fornecedor = new Model.Fornecedor
                                {
                                    ID       = Guid.NewGuid(),
                                    Nome     = textBoxNome.Text,
                                    Cnpj     = cnpj,
                                    Endereco = textBoxEndereco.Text,
                                    Ativo    = checkBoxAtivo.Checked
                                };

                                context.Fornecedores.Add(fornecedor);
                                context.SaveChanges();
                                MessageBox.Show("Cadastro realizado com sucesso", "Sucesso!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                LimpaBox();
                                CarregaGrid();
                                tabControlFornecedor.SelectedTab = this.tabPage1;
                            }
                        }
                        else if (buttonSalvar.Text == "Atualizar")
                        {
                            var dialogResult = MessageBox.Show("Tem certeza?\n(essa operação não pode ser desfeita)", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                            if (dialogResult == DialogResult.Yes)
                            {
                                var fornecedor = context.Fornecedores.First(x => x.ID == new Guid(ID_Fornecedor));
                                fornecedor.Nome     = textBoxNome.Text;
                                fornecedor.Cnpj     = cnpj;
                                fornecedor.Endereco = textBoxEndereco.Text;
                                fornecedor.Ativo    = checkBoxAtivo.Checked;

                                context.SaveChanges();
                                MessageBox.Show("Atualização realizada com sucesso", "Sucesso!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                CarregaGrid();
                                LimpaBox();
                                tabControlFornecedor.SelectedTab = this.tabPage1;
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("CNPJ Invalido", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        maskedTextBoxCNPJ.Focus();
                    }
                }
                else
                {
                    MessageBox.Show("Não deixe os campos em branco", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    textBoxNome.Focus();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show($"Houve um erro.\nDetalhes:\n{ex.InnerException}", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#11
0
        public void ValidateReturnsFalseIfCnpjContainsInvalidChars()
        {
            var actual = Cnpj.Validate("6e9433l5000192");

            Assert.False(actual);
        }
示例#12
0
        public void ValidateReturnsFalseIfCnpjIsInvalid()
        {
            var actual = Cnpj.Validate(CnpjTest.looseInvalidCnpj);

            Assert.False(actual);
        }
示例#13
0
        public void ValidateReturnsTrueIfCnpjIsValid()
        {
            var actual = Cnpj.Validate(CnpjTest.looseValidCnpj);

            Assert.True(actual);
        }
示例#14
0
        public void ValidateReturnsTrueIfCnpjIsValidAndStrict()
        {
            var actual = Cnpj.Validate(CnpjTest.strictValidCnpj, CnpjPunctuation.Strict);

            Assert.True(actual);
        }
示例#15
0
        public void ValidateReturnsFalseIfCnpjIsInvalidAndStrict()
        {
            var actual = Cnpj.Validate(CnpjTest.strictInvalidCnpj, CnpjPunctuation.Strict);

            Assert.False(actual);
        }
示例#16
0
        public void ValidateReturnsFalseIfCnpjIsNull()
        {
            var actual = Cnpj.Validate(null);

            Assert.False(actual);
        }
示例#17
0
        public void ValidateReturnsFalseIfCnpjIsHalfPunctuatedAndValidAndLoose()
        {
            var actual = Cnpj.Validate("63.9433150001-92", CnpjPunctuation.Loose);

            Assert.False(actual);
        }
示例#18
0
 public static bool IsLegalPerson(long taxNumber)
 {
     return(taxNumber > 0 &&
            Cnpj.Validate(taxNumber) &&
            CheckLegalFederalTaxNumber.Value.IsMatch(taxNumber.ToString(Cnpj.Format)));
 }