Пример #1
0
        private void PreeencherPessoa(StreamWriter s)
        {
            Endereço endereço;
            if (cliente.Endereços.ContarElementos() > 0)
                endereço = cliente.Endereços.First<Endereço>();
            else
                endereço = new Endereço();

            Telefone telefone;
            if (cliente.Telefones.ContarElementos() > 0)
                telefone = cliente.Telefones.First<Telefone>();
            else
                telefone = new Telefone();

            s.Write("E|");

            s.Write(cliente.Nome.Trim());
            s.Write(" - ");
            s.Write(cliente.Código.ToString());
            s.Write("|1|");

            if (jurídica != null && jurídica.InscEstadual != null)
                s.Write(jurídica.InscEstadual.Replace(".", "").Replace("-", ""));

            s.Write("||");

            if (jurídica != null && jurídica.InscMunicipal != null)
                s.Write(jurídica.InscMunicipal.Replace(".", "").Replace("-", ""));

            s.Write("|");
            s.Write(cliente.EMail);
            s.Write("|");

            s.WriteLine();
            if (jurídica != null)
            {
                s.Write("E02|");
                if (jurídica.CNPJ != null)
                    s.Write(jurídica.CNPJ.Replace(".", "").Replace("-", "").Replace("/", ""));
            }
            else
            {
                s.Write("E03|");

                if (física.CPF != null)
                    s.Write(física.CPF.Replace(".", "").Replace("-", "").Replace("/", ""));
            }
            s.WriteLine("|");
            s.Write("E05|");
            s.Write(endereço.Logradouro);
            s.Write("|");
            s.Write(endereço.Número);
            s.Write("|");
            s.Write(endereço.Complemento);
            s.Write("'|");
            s.Write(endereço.Bairro);

            Municipio m = Municipio.Obter(endereço.Localidade);

            // Código da localidade.
            s.Write("|");

            if (m != null)
                s.Write(m.Código.ToString());

            s.Write("|");
            s.Write(Acentuação.Singleton.TirarAcentos(endereço.Localidade.Nome));
            s.Write("|");
            s.Write(endereço.Localidade.Estado.Sigla);
            s.Write("|");
            s.Write(endereço.CEP.Replace("-", ""));
            s.Write("|");
            s.Write("1058|BRASIL|");

            if (telefone.Número != null)
                s.Write(telefone.Número.Replace("(", "").Replace(")", "").Replace(" ", "").Replace("-", ""));

            s.Write("|");
            s.WriteLine();
        }
Пример #2
0
        public static List<Pessoa> ObterPessoasPorEstado(Endereço.Estado[] estados)
        {
            string strEstados = "";

            if (estados.Length == 0)
                return new List<Pessoa>();

            foreach (Endereço.Estado estado in estados)
            {
                if (strEstados.Length > 0)
                    strEstados += ", ";

                strEstados += DbTransformar(estado.Código);
            }

            string cmd = "SELECT p.*, pf.* FROM pessoa p left join pessoafisica pf on p.codigo=pf.codigo, endereco e, localidade l"
                + " WHERE e.pessoa = p.codigo AND l.estado IN (" + strEstados + ")"
                + " AND l.codigo = e.localidade";

            return RealizarConsulta(cmd, 0, Pessoa.TotalAtributos);
        }
Пример #3
0
        public static List<Pessoa> ObterPessoasPorCidade(Endereço.Localidade[] cidades)
        {
            if (cidades.Length == 0)
                return new List<Pessoa>();

            string strCidades = "";

            foreach (Endereço.Localidade cidade in cidades)
            {
                if (strCidades.Length > 0)
                    strCidades += ", ";

                strCidades += DbTransformar(cidade.Código);
            }

            string cmd = "SELECT p.*, pf.* FROM pessoa p left join pessoafisica pf on p.codigo=pf.codigo, endereco e"
                + " WHERE e.localidade IN (" + strCidades + ")"
                + " AND e.pessoa = p.codigo "
                + " GROUP BY p.codigo ";

            return RealizarConsulta(cmd, 0, Pessoa.TotalAtributos);
        }
Пример #4
0
        public static int TrocarRegião(List<Pessoa> pessoas, Endereço.Região região)
        {
            IDbConnection conexão;
            IDbCommand cmd;

            List<ulong> códigos = new List<ulong>();
            foreach (Pessoa p in pessoas)
                códigos.Add(p.Código);

            int linhasAlteradas;
            ExecutaSqlTrocaRegião(região, out conexão, out cmd, códigos, out linhasAlteradas);

            return linhasAlteradas;
        }
Пример #5
0
        /// <summary>
        /// Obtem em consulta única todos os endereços de todas as pessoas.
        /// Dado o código da pessoa, retorna sua lista de endereços
        /// </summary>
        public static Dictionary<ulong, DbComposição<Endereço>> ObterEndereços(List<Pessoa> pessoas)
        {
            // Dado o código da pessoa, retorna sua lista de endereços
            Dictionary<ulong, DbComposição<Endereço>> hash = new Dictionary<ulong, DbComposição<Endereço>>();
            Dictionary<ulong, Pessoa> hashCódigoPessoa = new Dictionary<ulong, Pessoa>();

            if (pessoas.Count == 0)
                return hash;

            foreach (Pessoa p in pessoas)
                hashCódigoPessoa[p.Código] = p;

            IDbConnection conexão = Conexão;
            IDataReader leitor = null;
            List<ulong> localidadesCódigo = new List<ulong>();

            lock (conexão)
            {
                Usuários.UsuárioAtual.GerenciadorConexões.RemoverConexão(conexão);
                using (IDbCommand cmd = conexão.CreateCommand())
                {
                    try
                    {
                        bool primeiro = true;
                        StringBuilder consulta = new StringBuilder("SELECT * FROM endereco " +
                            " JOIN localidade on endereco.localidade=localidade.codigo WHERE pessoa IN (");

                        foreach (Pessoa p in pessoas)
                        {
                            if (!primeiro)
                                consulta.Append(", ");

                            consulta.Append(DbTransformar(p.Código));
                            primeiro = false;
                        }
                        consulta.Append(")");

                        cmd.CommandText = consulta.ToString();

                        using (leitor = cmd.ExecuteReader())
                        {

                            while (leitor.Read())
                            {
                                Endereço novo = new Endereço();
                                uint idPessoa = (uint)leitor.GetInt32(0);
                                novo.id = (uint)leitor.GetInt32(1);
                                novo.pessoa = hashCódigoPessoa[idPessoa];
                                novo.descrição = leitor.GetString(2);
                                novo.logradouro = leitor.GetString(3);
                                novo.cep = leitor.IsDBNull(4) ? null : leitor.GetString(4);
                                novo.bairro = leitor.IsDBNull(5) ? null : leitor.GetString(5);
                                novo.número = leitor.IsDBNull(6) ? null : leitor.GetString(6);
                                novo.complemento = leitor.IsDBNull(7) ? null : leitor.GetString(7);
                                // 9: código da localidade, mas repete no 10 que é o JOIN da localidade em sí.
                                novo.observações = leitor.IsDBNull(9) ? null : leitor.GetString(9);

                                novo.localidade = Localidade.Obter(leitor, 10);

                                DbComposição<Endereço> listaEndereços = null;

                                if (!hash.TryGetValue(idPessoa, out listaEndereços))
                                {
                                    listaEndereços = new DbComposição<Endereço>();
                                    hash[idPessoa] = listaEndereços;
                                }

                                listaEndereços.AdicionarJáCadastrado(novo);
                            }

                        }
                    }
                    finally
                    {
                        if (leitor != null)
                            leitor.Close();

                        Usuários.UsuárioAtual.GerenciadorConexões.AdicionarConexão(conexão);
                    }
                }
            }

            return hash;
        }
Пример #6
0
 public void Imprimir(PrintDocument documento, Endereço endereço)
 {
     etiqueta.Document = documento;
     etiqueta.Objects.Add(endereço);
     documento.Print();
 }