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(); }
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); }
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); }
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; }
/// <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; }
public void Imprimir(PrintDocument documento, Endereço endereço) { etiqueta.Document = documento; etiqueta.Objects.Add(endereço); documento.Print(); }