/// <summary> /// Carrega localidades vinculadas especificamente à região. /// </summary> private void CarregarLocalidades() { localidades = new DbComposição<Localidade>( Localidade.ObterLocalidades(this), new DbAção<Localidade>(InserirLocalidade), new DbAção<Localidade>(AtualizarLocalidade), new DbAção<Localidade>(RemoverLocalidade)); }
private void CarregarPessoas() { pessoas = new DbComposição<Pessoa>( Pessoa.ObterPessoas(this), new DbAção<Pessoa>(InserirPessoa), new DbAção<Pessoa>(AtualizarPessoa), new DbAção<Pessoa>(RemoverPessoa)); }
/// <summary> /// Ocorre ao adicionar uma foto à lista, adicionando também /// o álbum na lista da foto. /// </summary> /// <remarks> /// Como a foto pode ser desassociada do álbum por meio da /// entidade Álbum ou da entidade Foto, é necessário a determinação /// da origem da modificação. /// </remarks> void AoAdicionarFoto(DbComposição<Foto> composição, Foto entidade) { if (!entidade.Álbuns.Contains(this)) entidade.Álbuns.Add(this); }
/// <summary> /// Carrega estados vinculados à região. /// </summary> private void CarregarEstados() { estados = new DbComposição<Estado>( Estado.ObterEstados(this), new DbAção<Estado>(InserirEstado), new DbAção<Estado>(AtualizarEstado), new DbAção<Estado>(RemoverEstado)); }
private void ObterRetornos() { if (Cadastrado) { retornos = new DbComposição<Retorno>( Retorno.ObterRetornos(this), new DbAção<Retorno>(AdicionarRetorno), null, new DbAção<Retorno>(RemoverRetorno)); } else retornos = new DbComposição<Retorno>( new DbAção<Retorno>(AdicionarRetorno), null, new DbAção<Retorno>(RemoverRetorno)); retornos.AoAdicionar += new DbComposição<Retorno>.EventoComposição(AoAdicionarRetorno); }
/// <summary> /// Ocorre ao remover uma foto da lista, removendo também /// o álbum da lista da foto. /// </summary> /// <remarks> /// Como a foto pode ser desassociada do álbum por meio da /// entidade Álbum ou da entidade Foto, é necessário a determinação /// da origem da modificação. /// </remarks> void AoRemoverFoto(DbComposição<Foto> composição, Foto entidade) { if (entidade.Álbuns.Contains(this)) entidade.Álbuns.Remove(this); }
public void TransferirPagamentosParaDébitosEmTransação(List<KeyValuePair<Pagamento, VendaDébito>> lstPagamentoDébitos) { itensDébito = null; VendaDébito.TransferirPagamentosParaDébitosEmTransação(lstPagamentoDébitos); }
private static void AtribuiEndereçosÀsPessoas(List<Pessoa> pessoas, Dictionary<ulong, DbComposição<Endereço.Endereço>> hashEndereços) { foreach (Pessoa p in pessoas) { DbComposição<Endereço.Endereço> endereços = null; if (!hashEndereços.TryGetValue(p.Código, out endereços)) endereços = new DbComposição<Endereço.Endereço>(); p.endereços = endereços; } }
/// <summary> /// Ocorre ao remover uma venda. /// </summary> private void AoRemoverVenda(DbComposição<Venda> composição, Venda entidade) { if (entidade.AcertoConsignado != null && entidade.AcertoConsignado.Equals(this)) entidade.DefinirAcertoConsignado(null); }
/// <summary> /// Ocorre ao adicionar um item de crédito. /// </summary> void AoAdicionarItensCrédito(DbComposição<VendaCrédito> composição, VendaCrédito entidade) { if (((VendaCrédito)entidade).Venda != this) { composição.Remover(entidade); throw new ApplicationException("Crédito da venda não está vinculada à venda que o cadastra."); } entidade.Alterado += new DbManipulaçãoHandler(AoAlterarCrédito); }
/// <summary> /// Ocorre ao adicionar uma venda. /// </summary> private void AoAdicionarVenda(DbComposição<Venda> composição, Venda entidade) { GarantirConsistênciaAdição(entidade, composição); entidade.DefinirAcertoConsignado(this); entidade.AntesDeAtualizar += new DbManipulaçãoCancelávelHandler(AntesDeAtualizarRelacionamento); }
/// <summary> /// Ocorre ao adicionar uma saída. /// </summary> void AoAdicionarSaída(DbComposição<Saída> composição, Saída entidade) { GarantirConsistênciaAdição(entidade, composição); entidade.DefinirAcertoConsignado(this); if (!Cadastrado) entidade.AntesDeCadastrar += new DbManipulaçãoCancelávelHandler(AntesDeCadastrarSaída); entidade.AntesDeAtualizar += new DbManipulaçãoCancelávelHandler(AntesDeAtualizarRelacionamento); }
private void ObterVendas() { if (Cadastrado) { vendas = new DbComposição<Venda>( Venda.ObterVendas(this), new DbAção<Venda>(AdicionarVenda), null, new DbAção<Venda>(RemoverVenda)); } else vendas = new DbComposição<Venda>( new DbAção<Venda>(AdicionarVenda), null, new DbAção<Venda>(RemoverVenda)); vendas.AoAdicionar += new DbComposição<Venda>.EventoComposição(AoAdicionarVenda); vendas.AoRemover += new DbComposição<Venda>.EventoComposição(AoRemoverVenda); }
/// <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; }
private void bg_DoWork(object sender, DoWorkEventArgs e) { int x = 0; switch (tipo) { case Tipo.Saída: saídas = acerto.Saídas; gráficosSaídas = new Control[saídas.ContarElementos()]; foreach (Relacionamento saída in saídas) gráficosSaídas[x++] = Construir(saída); break; case Tipo.Retorno: retornos = acerto.Retornos; gráficosRetornos = new Control[retornos.ContarElementos()]; foreach (Relacionamento retorno in retornos) gráficosRetornos[x++] = Construir(retorno); break; case Tipo.Venda: vendas = VendaAcerto.ObterVendas(acerto); gráficosVendas = new Control[vendas.Count]; foreach (VendaAcerto venda in vendas) gráficosVendas[x++] = Construir(venda); break; } }
private void CarregarEndereços() { endereços = new DbComposição<Entidades.Pessoa.Endereço.Endereço>(); if (Cadastrado) endereços.AdicionarJáCadastrado(Endereço.Endereço.ObterEndereços(this)); }
/// <summary> /// Recupera lista de fotos associadas. /// </summary> private void RecuperarFotos() { if (!Cadastrado) { fotos = new DbComposição<Foto>( new DbAção<Foto>(AdicionarFoto), null, new DbAção<Foto>(RemoverFoto)); } else { fotos = new DbComposição<Foto>( Foto.ObterFotos(this), new DbAção<Foto>(AdicionarFoto), null, new DbAção<Foto>(RemoverFoto)); } fotos.AoAdicionar += new DbComposição<Foto>.EventoComposição(AoAdicionarFoto); fotos.AoRemover += new DbComposição<Foto>.EventoComposição(AoRemoverFoto); }
public void AdicionarJáCadastrado(Telefone[] tels) { telefones = new DbComposição<Telefone>(); if (Cadastrado) telefones.AdicionarJáCadastrado(tels); }
private void ObterSaídas() { if (Cadastrado) { saídas = new DbComposição<Saída>( Saída.ObterSaídas(this), new DbAção<Saída>(AdicionarSaída), null, new DbAção<Saída>(RemoverSaída)); } else saídas = new DbComposição<Saída>( new DbAção<Saída>(AdicionarSaída), null, new DbAção<Saída>(RemoverSaída)); saídas.AoAdicionar += new DbComposição<Saída>.EventoComposição(AoAdicionarSaída); saídas.AoRemover += new DbComposição<Saída>.EventoComposição(AoRemoverSaída); }