private void janela_EditarDocumento(JanelaRastro janela, RastroItem rastro) { if (rastro == null) { MessageBox.Show( ParentForm, "Por favor, antes de escolher editar documento, selecione o documento a ser editado.", "Editar documento", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { UseWaitCursor = true; AguardeDB.Mostrar(); Application.DoEvents(); try { Entidades.Relacionamento.RelacionamentoAcerto relacionamento = rastro.ObterRelacionamento(); if (relacionamento == null) { MessageBox.Show( ParentForm, "Não foi possível carregar o relacionamento do item selecionado.", "Editar documento", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } switch (rastro.Tipo) { case RastroItem.TipoEnum.Venda: BaseEditarVenda baseInferiorVenda = new BaseEditarVenda(); baseInferiorVenda.Abrir(relacionamento); SubstituirBase(baseInferiorVenda); break; case RastroItem.TipoEnum.Saída: SaídaBaseInferior baseInferiorSaída = new SaídaBaseInferior(); baseInferiorSaída.Abrir(relacionamento); SubstituirBase(baseInferiorSaída); break; case RastroItem.TipoEnum.Retorno: RetornoBaseInferior baseInferiorRetorno = new RetornoBaseInferior(); baseInferiorRetorno.Abrir(relacionamento); SubstituirBase(baseInferiorRetorno); break; default: throw new Exception("Tipo inexistente"); } } finally { AguardeDB.Fechar(); UseWaitCursor = false; } } }
public static void PreencherRastro(Entidades.Mercadoria.Mercadoria mercadoria, Pessoa.Pessoa pessoa, List<RastroItem> lista, List<long> códigosRetornos) { IDbConnection conexão; IDataReader leitor = null; if (códigosRetornos.Count == 0) return; conexão = Conexão; lock (conexão) { Usuários.UsuárioAtual.GerenciadorConexões.RemoverConexão(conexão); using (IDbCommand cmd = conexão.CreateCommand()) { cmd.CommandText = "select retorno.data, retorno.codigo, sum(retornoitem.quantidade) as qtd from retorno " + ", retornoitem WHERE retornoitem.retorno=retorno.codigo " + " AND referencia=" + DbTransformar(mercadoria.ReferênciaNumérica); if (mercadoria.DePeso) cmd.CommandText += " AND peso=" + DbTransformar(mercadoria.Peso); cmd.CommandText += " AND retorno.codigo IN " + DbTransformarConjunto(códigosRetornos); cmd.CommandText += " GROUP BY retorno.codigo, referencia, peso HAVING qtd != 0 ORDER by data"; try { using (leitor = cmd.ExecuteReader()) { while (leitor.Read()) { DateTime data = leitor.GetDateTime((int)OrdemRastro.Data); long documento = leitor.GetInt64((int)OrdemRastro.Documento); double qtd = leitor.GetDouble((int)OrdemRastro.Quantidade); RastroItem rastro = new RastroItem(RastroItem.TipoEnum.Retorno, data, documento, qtd); rastro.Documento = "Retorno #" + documento.ToString(); lista.Add(rastro); } } } finally { if (leitor != null) leitor.Close(); Usuários.UsuárioAtual.GerenciadorConexões.AdicionarConexão(conexão); } } } }
public static void PreencherRastro(Entidades.Mercadoria.Mercadoria mercadoria, Pessoa.Pessoa pessoa, List<RastroItem> lista, List<long> códigoVendas) { IDbConnection conexão; IDataReader leitor = null; if (códigoVendas.Count == 0) return; conexão = Conexão; using (IDbCommand cmd = conexão.CreateCommand()) { lock (conexão) { Usuários.UsuárioAtual.GerenciadorConexões.RemoverConexão(conexão); try { cmd.CommandText = "select controle, venda.data, venda.codigo, sum(vendaitem.quantidade) as qtd from venda " + ", vendaitem WHERE vendaitem.venda=venda.codigo " + "AND acerto in (select codigo from acertoconsignado where dataefetiva is null) AND referencia=" + DbTransformar(mercadoria.ReferênciaNumérica); if (mercadoria.DePeso) cmd.CommandText += " AND peso=" + DbTransformar(mercadoria.Peso); cmd.CommandText += " AND venda.codigo IN " + DbTransformarConjunto(códigoVendas); cmd.CommandText += " GROUP BY venda.codigo, referencia, peso HAVING qtd != 0 ORDER by venda.data"; using (leitor = cmd.ExecuteReader()) { while (leitor.Read()) { DateTime data = leitor.GetDateTime((int)OrdemRastro.Data); long documento = leitor.GetInt64((int)OrdemRastro.Documento); double qtd = leitor.GetDouble((int)OrdemRastro.Quantidade); RastroItem rastroItem = new Entidades.Acerto.RastroItem(RastroItem.TipoEnum.Venda, data, documento, qtd); if (!leitor.IsDBNull((int)OrdemRastro.Controle)) rastroItem.Documento = "Venda #" + leitor.GetInt64((int)OrdemRastro.Controle); else rastroItem.Documento = "Venda sem cód. controle"; lista.Add(rastroItem); } } } finally { if (leitor != null) leitor.Close(); Usuários.UsuárioAtual.GerenciadorConexões.AdicionarConexão(conexão); } } } }