예제 #1
0
        public string GerarLinhaCargaCriarFornecedorRetorno()
        {
            try
            {
                StringBuilder Linha = new StringBuilder();
                Linha.Append("1;");
                limitarTamanhoPropriedade(CodigoSolicitacao, 6, this.CodigoSolicitacao, Linha);
                Linha.Append("1234567890123456;");
                limitarTamanhoPropriedade(Empresa, 4, this.Empresa, Linha);
                limitarTamanhoPropriedade(GrupoContas, 4, this.GrupoContas, Linha);
                limitarTamanhoPropriedade(OrganizacaoCompras, 4, this.OrganizacaoCompras, Linha);
                this.CNPJ = CNPJ != null?CNPJ.Replace(".", "") : CNPJ;

                limitarTamanhoPropriedade(CNPJ, 16, this.CNPJ, Linha);
                this.CPF = CPF != null?CPF.Replace(".", string.Empty) : CPF;

                limitarTamanhoPropriedade(CPF, 11, this.CPF, Linha);
                Linha.Append("0;");
                Linha.Append(";");
                return(Linha.ToString());
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
예제 #2
0
        private void ValidaCPF()
        {
            var regex = new Regex("^[0-9]{11}$");

            CPF = (CPF != null) ? CPF = CPF.Replace("-", "").Replace(".", "") : string.Empty;

            if (CPF.Length != 11 || !regex.IsMatch(CPF))
            {
                throw new ArgumentException("CPF Inválido");
            }
        }
예제 #3
0
        public bool IsValid()
        {
            if (CPF.IsNullOrEmpty() || Password.IsNullOrEmpty())
            {
                return(false);
            }

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

            return(CPF.Length == 11);
        }
예제 #4
0
        public string GerarLinhaCargaCriarFornecedor()
        {
            try
            {
                StringBuilder Linha = new StringBuilder();
                //Campo 1 - Tamanho 1
                Linha.Append((int)EnumTiposAcao.Criacao + ";");
                //Campo 2 - Tamanho 6
                limitarTamanhoPropriedade(CodigoSolicitacao, 6, this.CodigoSolicitacao, Linha);
                //Campo 3 - Tamanho 4
                limitarTamanhoPropriedade(Empresa, 4, this.Empresa, Linha);
                //Campo 4 - Tamanho 4
                limitarTamanhoPropriedade(GrupoContas, 4, this.GrupoContas, Linha);
                //Campo 5 - Tamanho 4
                limitarTamanhoPropriedade(OrganizacaoCompras, 4, this.OrganizacaoCompras, Linha);
                //Campo 6 - Tamanho 1
                this.SimplesNacional = SimplesNacional != null ? "x" : null;
                limitarTamanhoPropriedade(SimplesNacional, 1, this.SimplesNacional, Linha);
                //Campo 7 - Tamanho 35
                ValidarNomes(Linha);
                limitarTamanhoPropriedade(NomeFantasia, 20, this.NomeFantasia, Linha);
                //Campo 12 - Tamanho 10
                limitarTamanhoPropriedade(CEP, 10, this.CEP, Linha);
                //Campo 13 - Tamanho 35     Localidade Maiusculo p/ determinar Domicilio Fiscal
                limitarTamanhoPropriedade(Cidade, 35, this.Cidade, Linha);
                //Campo 14 - Tamanho 10     Quebrar conforme ADRC, rua, número, Compl.
                limitarTamanhoPropriedade(TipoLogradouro, 10, this.TipoLogradouro, Linha);
                //Campo 15 - Tamanho 60
                limitarTamanhoPropriedade(Rua, 60, this.Rua, Linha);
                //Campo 16 - Tamanho 10
                limitarTamanhoPropriedade(Numero, 10, this.Numero, Linha);
                //Campo 17 - Tamanho 10
                limitarTamanhoPropriedade(Complemento, 10, this.Complemento, Linha);
                //Campo 18 - Tamanho 40
                limitarTamanhoPropriedade(Bairro, 40, this.Bairro, Linha);
                //Campo 19 - Tamanho 2
                limitarTamanhoPropriedade(Estado, 2, this.Estado, Linha);
                //Campo 20 - Tamanho 30     Considerar Tel1
                limitarTamanhoPropriedade(Telefone, 30, this.Telefone, Linha);
                //Campo 21 - Tamanho 241
                limitarTamanhoPropriedade(EnderecoMail, 241, this.EnderecoMail, Linha);
                //Campo 22 - Tamanho 30
                limitarTamanhoPropriedade(TelefoneCelular, 30, this.TelefoneCelular, Linha);
                //Campo 23 - Tamanho 10
                limitarTamanhoPropriedade(Cliente, 10, this.Cliente, Linha);
                //Campo 24 - Tamanho 4
                limitarTamanhoPropriedade(GrupoEmpresas, 4, this.GrupoEmpresas, Linha);
                //Campo 25 - Tamanho 16     sem pontos
                this.CNPJ = CNPJ != null?CNPJ.Replace(".", "") : CNPJ;

                limitarTamanhoPropriedade(CNPJ, 16, this.CNPJ, Linha);
                //Campo 26 - Tamanho 11     sem pontos
                this.CPF = CPF != null?CPF.Replace(".", string.Empty) : CPF;

                limitarTamanhoPropriedade(CPF, 11, this.CPF, Linha);
                //Campo 27 - Tamanho 18
                this.InscricaoEstadual = InscricaoEstadual != "ativo" ? "isento" : InscricaoEstadual;
                limitarTamanhoPropriedade(InscricaoEstadual, 18, this.InscricaoEstadual, Linha);
                //Campo 28 - Tamanho 18
                limitarTamanhoPropriedade(InscricaoMunicipal, 18, this.InscricaoMunicipal, Linha);
                //Campo 29 - Tamanho 3
                limitarTamanhoPropriedade(Banco, 3, this.Banco, Linha);
                //Campo 30 - Tamanho 4
                limitarTamanhoPropriedade(Agencia, 4, this.Agencia, Linha);
                //Campo 31 - Tamanho 1
                limitarTamanhoPropriedade(CodigoAgencia, 1, this.CodigoAgencia, Linha);
                //Campo 32 - Tamanho 18
                limitarTamanhoPropriedade(ContaCorrente, 18, this.ContaCorrente, Linha);
                //Campo 33 - Tamanho 2
                limitarTamanhoPropriedade(DVContaCorrente, 2, this.DVContaCorrente, Linha);
                //Campo 34 - Tamanho 30
                limitarTamanhoPropriedade("0001", 4, this.ChaveOrdenacao, Linha);
                //Campo 34 - Tamanho 30
                limitarTamanhoPropriedade(NomeContatoVendedor, 30, this.NomeContatoVendedor, Linha);
                //Campo 35 - Tamanho 16
                limitarTamanhoPropriedade(TelefoneVendedor, 16, this.TelefoneVendedor, Linha);
                //Campo 36 - Tamanho 2
                limitarTamanhoPropriedade(Pais, 2, this.Pais, Linha);
                return(Linha.ToString());
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
예제 #5
0
        public bool ValidaCpf()
        {
            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));
        }
예제 #6
0
        protected 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, 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);
        }
예제 #7
0
        private static Empregado CriarEmpregado(int ultimoNumeroPessoal)
        {
            Console.Clear();
            Console.WriteLine("Digite o nome da pessoa:");
            string nome = Console.ReadLine();

            while (nome == "")
            {
                Console.Clear();
                Console.WriteLine("Nome não pode ser vazio");
                Console.WriteLine("Digite o nome da pessoa:");
                nome = Console.ReadLine();
            }

            Console.WriteLine("Digite data de nascimento da pessoa: ('dd/MM/yyyy')");
            DateTime dataNascimento;
            var      datavalida = DateTime
                                  .TryParseExact(Console.ReadLine(),
                                                 "dd/MM/yyyy",
                                                 CultureInfo.InvariantCulture,
                                                 DateTimeStyles.None,
                                                 out dataNascimento);

            while ((datavalida == false))
            {
                Console.Clear();
                Console.WriteLine("Data inválida, favor tentar novamente.");
                Console.WriteLine("Digite data de nascimento da pessoa: ('dd/MM/yyyy')");
                datavalida = DateTime
                             .TryParseExact(Console.ReadLine(),
                                            "dd/MM/yyyy",
                                            CultureInfo.InvariantCulture,
                                            DateTimeStyles.None,
                                            out dataNascimento);
            }

            Console.WriteLine("Digite o sexo da pessoa:");
            Console.WriteLine("1 - Feminino");
            Console.WriteLine("2 - Masculino");
            Console.WriteLine("3 - Outro");
            string sexo = Console.ReadLine();

            while (sexo != "1" && sexo != "2" && sexo != "3")
            {
                Console.Clear();
                Console.WriteLine("Valor não econtrado, tente novamente. ");
                Console.WriteLine("Digite o sexo da pessoa:");
                Console.WriteLine("1 - Feminino");
                Console.WriteLine("2 - Masculino");
                Console.WriteLine("3 - Outro");
                sexo = Console.ReadLine();
            }
            Sexo Sexo = (Sexo)Enum.Parse(typeof(Sexo), sexo);

            string Nac;

            Console.WriteLine("Digite nacionalidade da pessoa.\n 1 - Brasileira\n 2 - Outra");

            Nac = Console.ReadLine();
            while (Nac != "1" && Nac != "2")
            {
                Console.Clear();
                Console.WriteLine("Valor não econtrado, tente novamente. ");
                Console.WriteLine("Digite nacionalidade da pessoa.\n 1 - Brasileira\n 2 - Outra");
                Nac = Console.ReadLine();
            }

            Nacionalidade nacionalidade;

            if (Nac == "1")
            {
                nacionalidade = Nacionalidade.Brasileira;
            }
            else
            {
                nacionalidade = Nacionalidade.Outras;
            }

            string CPF;

            Console.WriteLine("Digite o CPF da pessoa:");
            CPF = Console.ReadLine();
            CPF = CPF.Replace(".", "").Replace("-", "").Replace(" ", "");
            ValidandoCpf(CPF);
            while (ValidandoCpf(CPF) == false)
            {
                Console.Clear();
                Console.WriteLine("Erro, CPF não existe. Favor tentar novamente");
                Console.WriteLine("Digite o CPF da pessoa:");
                CPF = Console.ReadLine();
                CPF = CPF.Replace(".", "").Replace("-", "").Replace(" ", "");
                ValidandoCpf(CPF);
            }
            DBContext.VerificaCpfRepetido(CPF);
            while (DBContext.VerificaCpfRepetido(CPF) == true)
            {
                Console.Clear();
                Console.WriteLine("Erro, CPF já cadastrado, Favor tentar novamente");
                Console.WriteLine("Digite o CPF da pessoa:");
                CPF = Console.ReadLine();
                CPF = CPF.Replace(".", "").Replace("-", "").Replace(" ", "");
                DBContext.VerificaCpfRepetido(CPF);
            }

            double salario = 0;

            try
            {
                Console.WriteLine("Digite o salário da pessoa:");
                salario = double.Parse(Console.ReadLine());
                while (salario < 0)
                {
                    Console.ReadKey();
                    Console.WriteLine("Salário não pode ser negativo. Tente novamente.");
                    Console.WriteLine("Digite o salário da pessoa:");
                    salario = double.Parse(Console.ReadLine());
                }
            }
            catch (Exception)
            {
                Console.WriteLine("Valor não existente.\n O salário será definido como 0 (zero) e ao retornar ao menu, você pode alterar escolhendo a opção 2 ('dois')");
            }

            Console.WriteLine("Digite o cargo da pessoa:");
            string cargo = Console.ReadLine();

            while (cargo == "")
            {
                Console.Clear();
                Console.WriteLine("Cargo não pode ser vazio");
                Console.WriteLine("Digite o cargo da pessoa:");
                cargo = Console.ReadLine();
            }

            Console.WriteLine("Digite o status do empregado: \nAtivo = 1, \nAfastado = 2, \nAposentado = 3, \nDesligado = 4");
            string Status = Console.ReadLine();

            while (Status != "1" && Status != "2" && Status != "3" && Status != "4")
            {
                Console.Clear();
                Console.WriteLine("Valor não econtrado, tente novamente. ");
                Console.WriteLine("Digite o status do empregado: \nAtivo = 1, \nAfastado = 2, \nAposentado = 3, \nDesligado = 4");
                Status = Console.ReadLine();
            }
            StatusEmpregado StatusEmpregado = (StatusEmpregado)Enum.Parse(typeof(StatusEmpregado), Status);

            if (StatusEmpregado == StatusEmpregado.Desligado)
            {
                Console.WriteLine("O salário foi automaticamente zerado pois o usuário se encontra desligado.");
                salario = 0;
                Console.ReadKey();
            }

            return(new Empregado()
            {
                Nome = nome,
                DataNascimento = dataNascimento,
                Nacionalidade = nacionalidade,
                CPF = CPF,
                Sexo = Sexo,
                Salario = salario,
                Cargo = cargo,
                Status = StatusEmpregado,
                NumeroPessoal = ultimoNumeroPessoal + 1
            });
        }