public static List<PedidoItem> Obter(Pedido pedido) { return Mapear<PedidoItem>("select * from pedidoitem where pedido=" + DbTransformar(pedido.Código)); }
public static void PreencherObservaçõesDosItens(Pedido[] pedidos) { if (pedidos.Length == 0) return; Dictionary<ulong, Pedido> hash = new Dictionary<ulong, Pedido>(); foreach (Pedido p in pedidos) hash.Add(p.Código, p); IDataReader leitor = null; IDbConnection conexao = Conexão; lock (conexao) { using (IDbCommand cmd = conexao.CreateCommand()) { try { cmd.CommandText = "select pedido, GROUP_CONCAT(concat(quantidade, ' ', mercadoria, ' ', ifnull(descricao,''), ';')) from pedidoitem where pedido in " + DbTransformarConjunto(pedidos) + " group by pedido "; using (leitor = cmd.ExecuteReader()) { while (leitor.Read()) { Pedido p; if (hash.TryGetValue((ulong)leitor.GetInt32(0), out p)) { if (!leitor.IsDBNull(1)) p.DescriçãoItens = leitor.GetString(1); } } } } finally { if (leitor != null) leitor.Close(); } } } }
private static Pedido Obter(IDataReader leitor, int inicioPedidos) { Pedido pedido = new Pedido(); pedido.código = (ulong) leitor.GetInt64(0 + inicioPedidos); //if (!leitor.IsDBNull(1 + inicioPedidos)) // pedido.controle = (uint)leitor.GetInt32(1 + inicioPedidos); pedido.tipo = (Tipo)new ConversorTipo().ConverterDeDB(leitor.GetString(1 + inicioPedidos)); pedido.cliente = Entidades.Pessoa.Pessoa.ObterPessoa(leitor, TotalAtributos + inicioPedidos, TotalAtributos + inicioPedidos + Entidades.Pessoa.Pessoa.TotalAtributos, 0); if (!leitor.IsDBNull(3 + inicioPedidos)) pedido.representante = Entidades.Pessoa.Representante.Obter(leitor, TotalAtributos + inicioPedidos + Entidades.Pessoa.Pessoa.TotalAtributos + Entidades.Pessoa.PessoaFísica.TotalAtributos, TotalAtributos + inicioPedidos + 2 * Entidades.Pessoa.Pessoa.TotalAtributos + Entidades.Pessoa.PessoaFísica.TotalAtributos); if (!leitor.IsDBNull(4 + inicioPedidos)) pedido.receptor = Funcionário.ObterPessoa((ulong)leitor.GetInt64(4 + inicioPedidos)); if (!leitor.IsDBNull(5 + inicioPedidos)) pedido.dataRecepção = leitor.GetDateTime(5 + inicioPedidos); if (!leitor.IsDBNull(6 + inicioPedidos)) pedido.dataPrevisão = leitor.GetDateTime(6 + inicioPedidos); if (!leitor.IsDBNull(7 + inicioPedidos)) pedido.dataConclusão = leitor.GetDateTime(7 + inicioPedidos); if (!leitor.IsDBNull(8 + inicioPedidos)) pedido.dataEntrega = leitor.GetDateTime(8 + inicioPedidos); if (!leitor.IsDBNull(9 + inicioPedidos)) pedido.observações = leitor.GetString(9 + inicioPedidos); pedido.entrega = (Entrega) new ConversorTipoEntrega().ConverterDeDB(leitor.GetString(10 + inicioPedidos)); if (!leitor.IsDBNull(11 + inicioPedidos)) pedido.funcionarioentrega = Funcionário.ObterPessoa((ulong) leitor.GetInt64(11 + inicioPedidos)); pedido.pertenceAoCliente = leitor.GetBoolean(12 + inicioPedidos); pedido.valor = leitor.GetDouble(13 + inicioPedidos); if (!leitor.IsDBNull(14 + inicioPedidos)) pedido.nomeCliente = leitor.GetString(14 + inicioPedidos); if (!leitor.IsDBNull(15 + inicioPedidos)) pedido.dataOficina = leitor.GetDateTime(15 + inicioPedidos); if (!leitor.IsDBNull(16 + inicioPedidos)) pedido.funcionariooficina = Funcionário.ObterPessoa((ulong)leitor.GetInt64(16 + inicioPedidos)); if (!leitor.IsDBNull(17 + inicioPedidos)) pedido.funcionarioconclusao = Funcionário.ObterPessoa((ulong)leitor.GetInt64(17 + inicioPedidos)); pedido.DefinirCadastrado(); pedido.DefinirAtualizado(); return pedido; }
private void Criar() { modo = ModoEdição.Inserção; pedido = new Entidades.PedidoConserto.Pedido(); pedido.TipoPedido = Entidades.PedidoConserto.Pedido.Tipo.Pedido; radioEncomenda.Checked = true; radioConserto.Checked = false; chkDespachar.Checked = true; chkLevar.Checked = false; pedido.EntregaPedido = Entidades.PedidoConserto.Pedido.Entrega.Despachar; radioConserto.Enabled = radioEncomenda.Enabled = true; txtCliente.Pessoa = null; txtCliente.ReadOnly = false; txtFuncionário.Pessoa = Funcionário.FuncionárioAtual; txtFuncionário.ReadOnly = false; dtRecepção.Value = DadosGlobais.Instância.HoraDataAtual; // Como é um novo pedido, permitir gravação abrindo = false; AtualizarPrevisão(); abrindo = true; dtPrevisão.Enabled = true; dtConclusão.Visible = false; dtConclusão.Enabled = true; btnConclusao.Visible = true; dtEntrega.Visible = false; dtEntrega.Enabled = true; btnEntregar.Visible = true; txtDescrição.Text = ""; títuloBaseInferior1.Título = "Novo pedido"; títuloBaseInferior1.Descrição = ""; Gravar(); }