コード例 #1
0
 public void Treatment()
 {
     Cpf = string.IsNullOrEmpty(Cpf)
         ? Cpf
         : Cpf
           .Replace(".", "")
           .Replace(" ", "")
           .Replace("-", "")
           .Replace("\\", "")
           .Replace("/", "");
 }
コード例 #2
0
 public User ToModel()
 {
     return(new User
     {
         Cpf = Cpf.Replace(".", "").Replace("-", ""),
         Name = Name,
         SocialName = SocialName,
         BirthDate = BirthDate,
         Phone = Phone,
         Email = Email,
         Active = true,
         Password = Password
     });
 }
コード例 #3
0
        public void ValidaDados()
        {
            Nome = Nome.ToUpper().Trim();

            Telefone = Telefone.Replace("(", "").Replace(")", "")
                       .Replace("-", "").Replace(" ", "");

            Celular = Celular.Replace("(", "").Replace(")", "")
                      .Replace("-", "").Replace(" ", "");

            Cpf = Cpf.Replace("-", "").Replace(".", "");

            if (Nome.Length < 3)
            {
                throw new Exception(MensagensDeValidacao.Nome);
            }

            var boolCpf = ValidaCpf(Cpf);

            if (boolCpf == false)
            {
                throw new Exception(MensagensDeValidacao.Cpf);
            }

            var boolEmail = ValidaEmail(Email);

            if (boolEmail == false)
            {
                throw new Exception(MensagensDeValidacao.Email);
            }

            if (DataDeNascimento.Year > DateTime.Now.Year)
            {
                throw new Exception("Data de Nascimento inválida!");
            }

            if (string.IsNullOrEmpty(Telefone) &&
                string.IsNullOrEmpty(Celular))
            {
                throw new Exception("Informe ao menos um telefone para contato!");
            }
        }
コード例 #4
0
        public string DocumentoComFormatacao()
        {
            if (string.IsNullOrEmpty(Cpf))
            {
                return("");
            }

            var doc = Cpf.Replace("-", "").Replace(".", "").Replace("/", "");

            if (doc.Length <= 11)
            {
                var onzeDigitosCpf = doc.PadLeft(11, '0');
                var digitos        = Convert.ToInt64(Regex.Replace(onzeDigitosCpf, "[^0-9]", ""));
                return(digitos.ToString(@"000\.000\.000\-00"));
            }
            else
            {
                var onzeDigitosCpf = doc.PadLeft(14, '0');
                var digitos        = Convert.ToInt64(Regex.Replace(onzeDigitosCpf, "[^0-9]", ""));
                return(digitos.ToString(@"00\.000\.000/0000-00"));
            }
        }
コード例 #5
0
        public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
        {
            string Cpf1 = Cpf.Replace(".", "").Replace("-", "");

            if (Cpf1.Length > 11)
            {
                yield return(new ValidationResult("Cpf inválido"));
            }

            while (Cpf1.Length != 11)
            {
                Cpf1 = '0' + Cpf;
            }

            bool igual = true;

            for (int i = 1; i < 11 && igual; i++)
            {
                if (Cpf1[i] != Cpf1[0])
                {
                    igual = false;
                }
            }

            if (igual || Cpf1 == "12345678909")
            {
                yield return(new ValidationResult("Cpf inválido"));
            }

            int[] numeros = new int[11];

            for (int i = 0; i < 11; i++)
            {
                numeros[i] = int.Parse(Cpf1[i].ToString());
            }

            int soma = 0;

            for (int i = 0; i < 9; i++)
            {
                soma += (10 - i) * numeros[i];
            }

            int resultado = soma % 11;

            if (resultado == 1 || resultado == 0)
            {
                if (numeros[9] != 0)
                {
                    yield return(new ValidationResult("Cpf inválido"));
                }
            }
            else if (numeros[9] != 11 - resultado)
            {
                yield return(new ValidationResult("Cpf inválido"));
            }

            soma = 0;
            for (int i = 0; i < 10; i++)
            {
                soma += (11 - i) * numeros[i];
            }

            resultado = soma % 11;

            if (resultado == 1 || resultado == 0)
            {
                if (numeros[10] != 0)
                {
                    yield return(new ValidationResult("Cpf inválido"));
                }
            }
            else
            if (numeros[10] != 11 - resultado)
            {
                yield return(new ValidationResult("Cpf inválido"));
            }
        }
コード例 #6
0
        public bool Validate()
        {
            //Validação Nome

            bool isValid = true;

            if (string.IsNullOrEmpty(Name))
            {
                return(!isValid);
            }

            var name = Name;

            for (var i = 0; i < name.Length; i++)
            {
                var charInName = name[i];
                if (charInName.Equals(" "))
                {
                    return(!isValid);
                }
            }

            if (!name.All(char.IsLetter))
            {
                return(!isValid);
            }
            else if (!name.All(char.IsNumber))
            {
                return(!isValid);
            }

            // Validação CPF

            if (string.IsNullOrEmpty(Cpf))
            {
                return(!isValid);
            }

            var cpf = Cpf.Replace(".", "").Replace("-", "");

            if (cpf.Length != 11)
            {
                return(!isValid);
            }

            if (!cpf.All(char.IsNumber))
            {
                return(!isValid);
            }

            var firstcpf = cpf[0];

            if (cpf.Substring(1, 11).All(x => x == firstcpf))
            {
                return(!isValid);
            }

            // Validação CPF
            int[] multiplier1 = new int[9] {
                10, 9, 8, 7, 6, 5, 4, 3, 2
            };
            int[] multiplier2 = new int[10] {
                11, 10, 9, 8, 7, 6, 5, 4, 3, 2
            };

            string temp;
            string digit;
            int    sum;
            int    rest;

            temp = cpf.Substring(0, 9);
            sum  = 0;

            for (int i = 0; i < 9; i++)
            {
                sum += int.Parse(temp[i].ToString()) * multiplier1[i];
            }

            rest = sum % 11;

            rest = rest < 2 ? 0 : 11 - rest;

            digit = rest.ToString();
            temp += digit;
            sum   = 0;

            for (int i = 0; i < 10; i++)
            {
                sum += int.Parse(temp[i].ToString()) * multiplier2[i];
            }

            rest = sum % 11;

            rest = rest < 2 ? 0 : 11 - rest;

            digit += rest.ToString();

            if (cpf.EndsWith(digit))
            {
                return(isValid);
            }

            return(!isValid);
        }
コード例 #7
0
        //valida o cpf
        public bool Validate()
        {
            if (string.IsNullOrEmpty(Name))
            {
                return(false);
            }
            var name = Name.Split(' ');

            foreach (var item in name)
            {
                if (!item.All(char.IsLetter))
                {
                    return(false);
                }
            }

            // se cpf for nulo ou vazio
            if (string.IsNullOrEmpty(Cpf))
            {
                return(false);
            }


            // retira a mascarado Cpf
            var cpf = Cpf.Replace(".", "").Replace("-", "");

            //retira a o espaço do name

            // se a quant de dig for diferente de 11
            if (cpf.Length != 11)
            {
                return(false);
            }
            //Se nem todos os caracteres forem numeros
            if (!cpf.All(char.IsNumber))
            {
                return(false);
            }

            var first = cpf[0];

            //substring(startIndex,numbersOfItens)
            if (cpf.Substring(1, 10).All(x => x == first))
            {
                return(false);
            }

            int[] multiplier1 = new int[9] {
                10, 9, 8, 7, 6, 5, 4, 3, 2
            };
            int[] multiplier2 = new int[10] {
                11, 10, 9, 8, 7, 6, 5, 4, 3, 2
            };

            string temp;
            string digit;
            int    sum;
            int    rest;

            // recebe somente 9 itens a partir do 0
            temp = cpf.Substring(0, 9);
            sum  = 0;

            for (int i = 0; i < 9; i++)
            {
                sum += int.Parse(temp[i].ToString()) * multiplier1[i];
            }

            rest = sum % 11;

            rest = rest < 2 ? 0 : 11 - rest;

            digit = rest.ToString();
            temp += digit;
            sum   = 0;

            for (int i = 0; i < 10; i++)
            {
                sum += int.Parse(temp[i].ToString()) * multiplier2[i];
            }

            rest = sum % 11;

            rest = rest < 2 ? 0 : 11 - rest;

            digit += rest.ToString();

            if (cpf.EndsWith(digit))
            {
                return(true);
            }

            return(false);
        }
コード例 #8
0
        private bool ValidateCPF()
        {
            if (string.IsNullOrEmpty(Cpf))
            {
                return(false);
            }

            var cpf = Cpf.Replace(".", "").Replace("-", "");

            if (cpf.Length != 11)
            {
                return(false);
            }

            if (!cpf.All(char.IsNumber))
            {
                return(false);
            }

            // var first = cpf[0];
            // if (cpf.Substring(1, 11).All(x => x == first))
            // {
            //     return false;
            // }

            int[] multiplier1 = new int[9] {
                10, 9, 8, 7, 6, 5, 4, 3, 2
            };
            int[] multiplier2 = new int[10] {
                11, 10, 9, 8, 7, 6, 5, 4, 3, 2
            };

            string temp;
            string digit;
            int    sum;
            int    rest;

            temp = cpf.Substring(0, 9);
            sum  = 0;

            for (int i = 0; i < 9; i++)
            {
                sum += int.Parse(temp[i].ToString()) * multiplier1[i];
            }

            rest = sum % 11;

            rest = rest < 2 ? 0 : 11 - rest;

            digit = rest.ToString();
            temp += digit;
            sum   = 0;

            for (int i = 0; i < 10; i++)
            {
                sum += int.Parse(temp[i].ToString()) * multiplier2[i];
            }

            rest = sum % 11;

            rest = rest < 2 ? 0 : 11 - rest;

            digit += rest.ToString();

            if (cpf.EndsWith(digit))
            {
                return(true);
            }

            return(false);
        }
コード例 #9
0
ファイル: Candidates.cs プロジェクト: Silmar3347/Election
        public bool Validate()
        {
            if (string.IsNullOrEmpty(Name))
            {
                return(false);
            }

            var name = Name.Split(' ');


            foreach (var item in name)
            {
                if (!item.All(char.IsLetter))
                {
                    return(false);
                }
            }

            if (string.IsNullOrEmpty(Cpf))
            {
                return(false);
            }

            var cpf = Cpf.Replace(".", "").Replace("-", "");

            if (cpf.Length != 11)
            {
                return(false);
            }

            if (!cpf.All(char.IsNumber))
            {
                return(false);
            }

            var first = cpf[0];

            if (cpf.Substring(1, 10).All(x => x == first))
            {
                return(false);
            }

            int[] multiplier1 = new int[9] {
                10, 9, 8, 7, 6, 5, 4, 3, 2
            };
            int[] multiplier2 = new int[10] {
                11, 10, 9, 8, 7, 6, 5, 4, 3, 2
            };

            string temp;
            string digit;
            int    sum;
            int    rest;

            temp = cpf.Substring(0, 9);
            sum  = 0;

            for (int i = 0; i < 9; i++)
            {
                sum += int.Parse(temp[i].ToString()) * multiplier1[i];
            }

            rest = sum % 11;

            rest = rest < 2 ? 0 : 11 - rest;

            digit = rest.ToString();
            temp += digit;
            sum   = 0;

            for (int i = 0; i < 10; i++)
            {
                sum += int.Parse(temp[i].ToString()) * multiplier2[i];
            }

            rest = sum % 11;

            rest = rest < 2 ? 0 : 11 - rest;

            digit += rest.ToString();

            if (cpf.EndsWith(digit))
            {
                return(true);
            }

            return(false);
        }
コード例 #10
0
        static void Main(string[] args)
        {
            Funcionario    funcionario;
            FolhaPagamento folhaPagamento;
            CalculoFolha   calculoFolha;
            string         opcao, Cpf;
            double         salarioBruto, Inss, Fgts, salarioLiquido, impostoRenda, totalSalarioLiquido = 0, totalSalarioBruto = 0;

            do
            {
                Console.Clear();
                Console.WriteLine("         -- Sistema de Folha de Pagamento -- ");
                Console.WriteLine("\n            1 - Cadastrar Funcionário");
                Console.WriteLine("            2 - Cadastrar Folha de pagamento");
                Console.WriteLine("            3 - Consultar Folha de Pagamento");
                Console.WriteLine("            4 - Listar Folhas de Pagamento");
                Console.WriteLine("            5 - Listar Funcionários");
                Console.WriteLine("            6 - Listar Folhas Cadastradas");
                Console.WriteLine("            0 - SAIR");
                opcao = Console.ReadLine();

                switch (opcao)
                {
                case "1":
                    funcionario = new Funcionario();

                    Console.Clear();
                    Console.WriteLine("         -- Cadastrar Funcionário --");
                    Console.WriteLine("\n            Informe o CPF do Funcionário: ");
                    Cpf             = Console.ReadLine();
                    Cpf             = Cpf.Trim();
                    Cpf             = Cpf.Replace(".", "").Replace("-", "");
                    funcionario.Cpf = Cpf;

                    if (ValidaCPF.ValidarCpf(funcionario.Cpf) == true)
                    {
                        Console.WriteLine("\n            CPF Válido...");
                        Console.WriteLine("\n            Informe o Nome do Funcionário: ");
                        funcionario.Nome = Console.ReadLine();
                        if (FuncionarioDAO.SalvarFuncionario(funcionario) == true)
                        {
                            Console.WriteLine("\n            Funcionário Cadastrado com Sucesso!!!");
                        }
                        else
                        {
                            Console.WriteLine("\n            Funcionário NÃO Cadastrado!!!");
                        }
                    }
                    else
                    {
                        Console.WriteLine("\n            CPF INVÁLIDO!!!");
                    }
                    break;

                case "2":
                    folhaPagamento = new FolhaPagamento();
                    funcionario    = new Funcionario();

                    Console.Clear();
                    Console.WriteLine("         -- Cadastrar Folha de Pagamento --");
                    Console.WriteLine("\n            Informe o CPF do Funcionário: ");
                    Cpf             = Console.ReadLine();
                    Cpf             = Cpf.Trim();
                    Cpf             = Cpf.Replace(".", "").Replace("-", "");
                    funcionario.Cpf = Cpf;

                    funcionario = FuncionarioDAO.BuscarFuncionarioCpf(funcionario);
                    if (funcionario != null)
                    {
                        folhaPagamento.Funcionario = funcionario;

                        Console.WriteLine("            Informe o Mês da Folha: ");
                        folhaPagamento.Mes = Convert.ToInt32(Console.ReadLine());
                        if (FolhaPagamentoDAO.ValidacaoSimplesMes(folhaPagamento.Mes) == true)
                        {
                            Console.WriteLine("            Informe o Ano da Folha: ");
                            folhaPagamento.Ano = Convert.ToInt32(Console.ReadLine());
                            if (FolhaPagamentoDAO.ValidacaoSimplesAno(folhaPagamento.Ano) == true)
                            {
                                if (FolhaPagamentoDAO.BuscarFolhaPagamentoFuncionarioMesAno(funcionario, folhaPagamento) != null)
                                {
                                    Console.WriteLine("            Informe Quantidade de Horas trabalhadas: ");
                                    folhaPagamento.HorasTrabalhadas = Convert.ToInt32(Console.ReadLine());

                                    Console.WriteLine("            Informe o Valor da Hora Trabalhada: ");
                                    folhaPagamento.ValorHora = Convert.ToDouble(Console.ReadLine());

                                    FolhaPagamentoDAO.SalvarFolhaPagamento(folhaPagamento);
                                    Console.WriteLine("\n              Informações da Folha de Pagamento Salvas com Sucesso!!!...");
                                }
                                else
                                {
                                    Console.WriteLine("\n              Cadastro Não Realizado!!!...");
                                }
                            }
                            else
                            {
                                Console.WriteLine("\n              Ano Inválido!!!");
                            }
                        }
                        else
                        {
                            Console.WriteLine("\n              Mês Inválido!!!");
                        }
                    }
                    else
                    {
                        Console.WriteLine("\n              CPF Inválido! ");
                    }
                    break;

                case "3":
                    funcionario    = new Funcionario();
                    folhaPagamento = new FolhaPagamento();
                    calculoFolha   = new CalculoFolha();

                    Console.Clear();
                    Console.WriteLine("         --  Consultar Folha de Pagamento --");
                    Console.WriteLine("\n              Informe o CPF do Funcionário a consultar a Folha: ");
                    Cpf             = Console.ReadLine();
                    Cpf             = Cpf.Trim();
                    Cpf             = Cpf.Replace(".", "").Replace("-", "");
                    funcionario.Cpf = Cpf;

                    funcionario = FuncionarioDAO.BuscarFuncionarioCpf(funcionario);
                    if (funcionario != null)
                    {
                        Console.WriteLine("            Informe o Mês da Folha de Pagamento: ");
                        folhaPagamento.Mes = Convert.ToInt32(Console.ReadLine());

                        Console.WriteLine("            Informe o Ano da Folha de Pagamento: ");
                        folhaPagamento.Ano = Convert.ToInt32(Console.ReadLine());

                        if (FolhaPagamentoDAO.BuscarFolhaPagamentoFuncionarioMesAno(funcionario, folhaPagamento) != null)
                        {
                            foreach (FolhaPagamento folhaPagamentoCadastrada in FolhaPagamentoDAO.BuscarFolhaPagamentoFuncionarioMesAno(funcionario, folhaPagamento))
                            {
                                Console.WriteLine("\n            Funcionário: " + folhaPagamentoCadastrada.Funcionario.Nome);
                                Console.WriteLine("            CPF: " + folhaPagamentoCadastrada.Funcionario.Cpf);
                                Console.WriteLine("            Mês / Ano : " + folhaPagamentoCadastrada.Mes + "/ " + folhaPagamentoCadastrada.Ano);
                                Console.WriteLine("            Horas Trabalhadas: " + folhaPagamentoCadastrada.HorasTrabalhadas);
                                Console.WriteLine("\t            Valor da Hora: " + folhaPagamentoCadastrada.ValorHora.ToString("C2"));
                                salarioBruto = calculoFolha.CalculoFolhaPagamentoSalarioBruto(folhaPagamentoCadastrada.HorasTrabalhadas, folhaPagamentoCadastrada.ValorHora);
                                Console.WriteLine("\t            Salário Bruto: " + salarioBruto.ToString("C2"));
                                impostoRenda = calculoFolha.CalculoFolhaPagamentoIR(folhaPagamentoCadastrada.HorasTrabalhadas, folhaPagamentoCadastrada.ValorHora);
                                Console.WriteLine("\t            Imposto de Renda: " + impostoRenda.ToString("C2"));
                                Inss = calculoFolha.CalculoFolhaPagamentoInss(folhaPagamentoCadastrada.HorasTrabalhadas, folhaPagamentoCadastrada.ValorHora);
                                Console.WriteLine("\t            INSS: " + Inss.ToString("C2"));
                                Fgts = calculoFolha.CalculoFolhaPagamentoFgts(folhaPagamentoCadastrada.HorasTrabalhadas, folhaPagamentoCadastrada.ValorHora);
                                Console.WriteLine("\t            FGTS: " + Fgts.ToString("C2"));
                                salarioLiquido = salarioBruto - impostoRenda - Inss;
                                Console.WriteLine("\t            Salário Líquido: " + salarioLiquido.ToString("C2"));
                            }
                        }
                        else
                        {
                            Console.WriteLine("\n            Mês ou Ano informado Não Encontrados!");
                        }
                    }
                    else
                    {
                        Console.WriteLine("\n            CPF Inválido!");
                    }
                    break;

                case "4":
                    funcionario    = new Funcionario();
                    folhaPagamento = new FolhaPagamento();
                    calculoFolha   = new CalculoFolha();

                    Console.Clear();
                    Console.WriteLine("            --  Listar Folhas de Pagamento --");
                    Console.WriteLine("\n            Informe o Mês que deseja Consultar: ");
                    folhaPagamento.Mes = Convert.ToInt32(Console.ReadLine());
                    Console.WriteLine("            Informe o Ano que deseja Consultar: ");
                    folhaPagamento.Ano = Convert.ToInt32(Console.ReadLine());

                    totalSalarioLiquido = 0;
                    totalSalarioBruto   = 0;
                    foreach (FolhaPagamento folhaPagamentoCadastrada in FolhaPagamentoDAO.ListarFolhaPagamentoMesAno(folhaPagamento))
                    {
                        Console.WriteLine("\n            Funcionário: " + folhaPagamentoCadastrada.Funcionario.Nome);
                        Console.WriteLine("            CPF: " + folhaPagamentoCadastrada.Funcionario.Cpf);
                        Console.WriteLine("            Mês / Ano : " + folhaPagamentoCadastrada.Mes + "/ " + folhaPagamentoCadastrada.Ano);
                        Console.WriteLine("            Horas Trabalhadas: " + folhaPagamentoCadastrada.HorasTrabalhadas);
                        Console.WriteLine("\t            Valor da Hora: " + folhaPagamentoCadastrada.ValorHora.ToString("C2"));
                        salarioBruto = calculoFolha.CalculoFolhaPagamentoSalarioBruto(folhaPagamentoCadastrada.HorasTrabalhadas, folhaPagamentoCadastrada.ValorHora);
                        Console.WriteLine("\t            Salário Bruto: " + salarioBruto.ToString("C2"));
                        impostoRenda = calculoFolha.CalculoFolhaPagamentoIR(folhaPagamentoCadastrada.HorasTrabalhadas, folhaPagamentoCadastrada.ValorHora);
                        Console.WriteLine("\t            Imposto de Renda: " + impostoRenda.ToString("C2"));
                        Inss = calculoFolha.CalculoFolhaPagamentoInss(folhaPagamentoCadastrada.HorasTrabalhadas, folhaPagamentoCadastrada.ValorHora);
                        Console.WriteLine("\t            INSS: " + Inss.ToString("C2"));
                        Fgts = calculoFolha.CalculoFolhaPagamentoFgts(folhaPagamentoCadastrada.HorasTrabalhadas, folhaPagamentoCadastrada.ValorHora);
                        Console.WriteLine("\t            FGTS: " + Fgts.ToString("C2"));
                        salarioLiquido = salarioBruto - impostoRenda - Inss;
                        Console.WriteLine("\t            Salário Líquido: " + salarioLiquido.ToString("C2"));

                        totalSalarioLiquido += salarioLiquido;
                        totalSalarioBruto   += salarioBruto;
                    }
                    Console.WriteLine("\n\t            Total Salário Bruto: " + totalSalarioBruto.ToString("C2"));
                    Console.WriteLine("\t            Total Salário Líquido: " + totalSalarioLiquido.ToString("C2"));

                    break;

                case "5":
                    funcionario = new Funcionario();

                    Console.Clear();
                    Console.WriteLine("         --  Listar Funcionários --");
                    foreach (Funcionario funcionarioCadastrado in FuncionarioDAO.RetornarLista())
                    {
                        Console.WriteLine("\n            Funcionário: " + funcionarioCadastrado.Nome);
                        Console.WriteLine("            CPF: " + funcionarioCadastrado.Cpf);
                    }
                    Console.ReadKey();

                    break;

                case "6":
                    folhaPagamento = new FolhaPagamento();
                    funcionario    = new Funcionario();

                    Console.Clear();
                    Console.WriteLine("         --  Listar Folha Cadastrada --");
                    foreach (FolhaPagamento folhaPagamentoCadastrada in FolhaPagamentoDAO.RetornarLista())
                    {
                        Console.WriteLine("\n            Funcionário: " + folhaPagamentoCadastrada.Funcionario.Nome);
                        Console.WriteLine("            CPF: " + folhaPagamentoCadastrada.Funcionario.Cpf);
                        Console.WriteLine("            Mês: " + folhaPagamentoCadastrada.Mes);
                        Console.WriteLine("            Ano: " + folhaPagamentoCadastrada.Ano);
                        Console.WriteLine("            Horas Trabalhadas: " + folhaPagamentoCadastrada.HorasTrabalhadas);
                        Console.WriteLine("            Valor da Hora: " + folhaPagamentoCadastrada.ValorHora.ToString("C2"));
                    }
                    Console.ReadKey();

                    break;

                case "0":
                    Console.Clear();
                    break;

                default:
                    Console.Clear();
                    Console.WriteLine("\n            Opção Inválida!");
                    break;
                }

                Console.WriteLine("\n            Aperte uma tecla para continuar...");
                Console.ReadKey();
            } while (!opcao.Equals("0"));
        }
コード例 #11
0
        public bool ValidarCpf()
        {
            int[] multiplicador1 = new int[9] { 10, 9, 8, 7, 6, 5, 4, 3, 2 };

            int[] multiplicador2 = new int[10] { 11, 10, 9, 8, 7, 6, 5, 4, 3, 2 };

            string tempCpf;

            string digito;

            int soma;

            int resto;

            Cpf = Cpf.Trim();

            Cpf = Cpf.Replace(".", "").Replace("-", "");

            if (Cpf.Length != 11)
            {
                return false;
            }

            tempCpf = Cpf.Substring(0, 9);

            soma = 0;

            for (int i = 0; i < 9; i++)
            {
                soma += int.Parse(tempCpf[i].ToString()) * multiplicador1[i];
            }

            resto = soma % 11;

            if (resto < 2)
            {
                resto = 0;
            }
            else
            {
                resto = 11 - resto;
            }

            digito = resto.ToString();

            tempCpf = tempCpf + digito;

            soma = 0;

            for (int i = 0; i < 10; i++)
            {
                soma += int.Parse(tempCpf[i].ToString()) * multiplicador2[i];
            }

            resto = soma % 11;

            if (resto < 2)
            {
                resto = 0;
            }
            else
            {
                resto = 11 - resto;
            }

            digito = digito + resto.ToString();

            return Cpf.EndsWith(digito);
        }
コード例 #12
0
        /// <summary>
        /// Valida se os dados estão corretos
        /// </summary>
        /// <param name="mensagemErro"></param>
        /// <returns></returns>
        public override bool ValidarEntidade(ref string mensagemErro)
        {
            bool          retorno = base.ValidarEntidade(ref mensagemErro);
            StringBuilder sb      = new StringBuilder();

            sb.Append(mensagemErro);
            mensagemErro = "";

            // Validar o nome do cliente
            if (string.IsNullOrWhiteSpace(Nome))
            {
                sb.Append("O nome do cliente é obrigatório! Por favor, informe o nome do cliente " +
                          "no campo indicado para continuar. ");
                retorno = false;
            }
            else if (Nome.Length > 150)
            {
                sb.Append("O nome do cliente pode ter, no máximo, 150 caracteres! " +
                          $"O nome inserido tem {Nome.Length} caracteres, por favor remova ao menos {Nome.Length - 150}" +
                          $" caracteres para continuar. ");
                retorno = false;
            }
            else if (Nome.Length < 3)
            {
                sb.Append("O nome do cliente deve ter, ao menos, 3 caracteres! Por favor, informe um nome " +
                          "válido para continuar. ");
                retorno = false;
            }

            // Validar o telefone
            if (!string.IsNullOrWhiteSpace(Telefone))
            {
                if (Telefone.Length > 20)
                {
                    sb.Append("O telefone do cliente deve ter, no máximo, 20 caracteres! " +
                              $"O telefonr inserido tem {Telefone.Length} caracteres, por favor remova ao " +
                              $"menos {Telefone.Length - 20} caracteres para continuar. ");
                    retorno = false;
                }
                else if (Telefone.Length < 8)
                {
                    sb.Append("O telefone do cliente deve ter, ao menos, 8 caracteres! Por favor, informe um " +
                              "telefone válido para continuar. ");
                    retorno = false;
                }
            }

            // Valida o CPF
            if (!string.IsNullOrWhiteSpace(Cpf))
            {
                if (Cpf.Replace("-", "").Replace(".", "").Length != 11)
                {
                    sb.Append("O CPF do cliente deve ter 11 caracteres! Por favor, informe um " +
                              "CPF válido para continuar. ");
                    retorno = false;
                }

                if (!ValidarCpf(Cpf))
                {
                    sb.Append("O CPF informado não é válido.");
                    retorno = false;
                }
            }

            mensagemErro = sb.ToString();
            return(retorno);
        }
コード例 #13
0
ファイル: Customer.cs プロジェクト: perezvr/CustomerWebApiDDD
        public bool ValidateCpf()
        {
            string valor = Cpf.Replace(".", "");

            valor = valor.Replace("-", "");

            if (valor.Length != 11)
            {
                return(false);
            }

            bool igual = true;

            for (int i = 1; i < 11 && igual; i++)
            {
                if (valor[i] != valor[0])
                {
                    igual = false;
                }
            }

            if (igual || valor == "12345678909")
            {
                return(false);
            }

            int[] numeros = new int[11];

            for (int i = 0; i < 11; i++)
            {
                numeros[i] = int.Parse(valor[i].ToString());
            }

            int soma = 0;

            for (int i = 0; i < 9; i++)
            {
                soma += (10 - i) * numeros[i];
            }

            int resultado = soma % 11;

            if (resultado == 1 || resultado == 0)
            {
                if (numeros[9] != 0)
                {
                    return(false);
                }
            }

            else if (numeros[9] != 11 - resultado)
            {
                return(false);
            }

            soma = 0;

            for (int i = 0; i < 10; i++)
            {
                soma += (11 - i) * numeros[i];
            }

            resultado = soma % 11;

            if (resultado == 1 || resultado == 0)
            {
                if (numeros[10] != 0)
                {
                    return(false);
                }
            }

            else if (numeros[10] != 11 - resultado)
            {
                return(false);
            }

            return(true);
        }