public static string Gravar(TRegistro_PreVenda_Item val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_PreVenda_Item qtb_orc = new TCD_PreVenda_Item(); try { if (banco == null) { st_transacao = qtb_orc.CriarBanco_Dados(true); } else { qtb_orc.Banco_Dados = banco; } if (val.tapTransactions != null) { val.Ch_torneira = val.tapTransactions.cardId.ToString() + "|" + val.tapTransactions.tstStart.ToString() + "|" + val.tapTransactions.plu.ToString(); } string ret = qtb_orc.Gravar(val); val.id_prevenda = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret, "@P_ID_PREVENDA")); val.id_item = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret, "@P_ID_ITEM")); val.lSabores.ForEach(p => { p.Cd_Empresa = val.Cd_empresa; p.Id_PreVenda = val.id_prevenda; p.Id_Item = val.id_item; if (!string.IsNullOrEmpty(p.ID_Sabor.ToString())) { TCN_SaboresItens.Gravar(p, qtb_orc.Banco_Dados); } }); if (st_transacao) { qtb_orc.Banco_Dados.Commit_Tran(); } return(val.id_prevenda.ToString()); } catch (Exception ex) { if (st_transacao) { qtb_orc.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar pre venda: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_orc.deletarBanco_Dados(); } } }
private void gerarPedido() { TRegistro_PreVenda_Item _Item = new TRegistro_PreVenda_Item(); _Item.Cd_empresa = _Cfg.cd_empresa; _Item.cd_produto = (bsProduto.Current as TRegistro_CadProduto).CD_Produto; _Item.ds_produto = (bsProduto.Current as TRegistro_CadProduto).DS_Produto; _Item.quantidade = Convert.ToDecimal(edt_peso.Text.Trim()); _Item.vl_unitario = (bsProduto.Current as TRegistro_CadProduto).Vl_precovenda; _Cartao.lPreVenda[0].lItens.Add(_Item); _Cartao.nr_cartao = edt_cartao.Text.Trim(); TCN_Cartao.Gravar(_Cartao, null); gerarPed = true; limparCampos(); }
public static string TransferirMesa(TRegistro_Cartao val, CamadaDados.Restaurante.Cadastro.TRegistro_Cfg cfg, string id_cartao, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_PreVenda qtb_orc = new TCD_PreVenda(); try { if (banco == null) { st_transacao = qtb_orc.CriarBanco_Dados(true); } else { qtb_orc.Banco_Dados = banco; } if (cfg.Tp_cartao.Equals("1")) { TList_PreVenda futura_mesa = new TList_PreVenda(); futura_mesa = TCN_PreVenda.Buscar(val.Cd_empresa, id_cartao, string.Empty, string.Empty, string.Empty, string.Empty, banco); futura_mesa.ForEach(p => { p.lItens = TCN_PreVenda_Item.Buscar(p.Cd_empresa, p.id_prevenda.ToString(), string.Empty, string.Empty, banco); val.lPreVenda.ForEach(pi => { int i = p.lItens.Count; pi.lItens.ForEach(o => { TRegistro_PreVenda_Item item = new TRegistro_PreVenda_Item(); item.casasdecimais = o.casasdecimais; item.cd_condfiscal_produto = o.cd_condfiscal_produto; item.Cd_empresa = p.Cd_empresa; item.cd_produto = o.cd_produto; item.ds_grupo = o.ds_grupo; item.ds_produto = o.ds_produto; item.id_cartao = p.id_cartao; item.id_portaimp = o.id_portaimp; item.id_prevenda = p.id_prevenda; item.obsItem = o.obsItem; item.porta_imp = o.porta_imp; item.quantidade = o.quantidade; item.vl_desconto = o.vl_desconto; item.vl_liquido = o.vl_liquido; item.vl_subtotal = o.vl_subtotal; item.vl_unitario = o.vl_unitario; item.lSabores = o.lSabores; //i++; item.id_item = o.id_item + i; if (!string.IsNullOrWhiteSpace(o.id_itemPaiAdic.ToString())) { item.id_itemPaiAdic = o.id_itemPaiAdic + i; } //item.id_item = i; p.lItens.Add(item); }); }); }); val.St_registro = "C"; val.lPreVenda.ForEach(p => { // p.motivo = "junção de mesa :" + val.Id_mesa + " local " + val.id_local + " com a mesa " + mesa.id_mesa + " local " + mesa.id_local; p.st_ativo = "C"; }); TCN_Cartao.Gravar(val, banco); futura_mesa.ForEach(p => { TCN_PreVenda.Gravar(p, banco); }); } else if (cfg.Tp_cartao.Equals("0") && cfg.bool_mesacartao) { TCN_Cartao.Gravar(val, banco); } if (st_transacao) { qtb_orc.Banco_Dados.Commit_Tran(); } return(string.Empty);// val.id_prevenda.ToString(); } catch (Exception ex) { if (st_transacao) { qtb_orc.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar pre venda: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_orc.deletarBanco_Dados(); } } }
public static string ExcluirC(TRegistro_PreVenda_Item val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_PreVenda_Item qtb_orc = new TCD_PreVenda_Item(); try { if (banco == null) { st_transacao = qtb_orc.CriarBanco_Dados(true); } else { qtb_orc.Banco_Dados = banco; } //Verificar se existir itens filhos new TCD_PreVenda_Item(qtb_orc.Banco_Dados).Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.ID_PreVenda", vOperador = "=", vVL_Busca = val.id_prevenda.ToString() }, new TpBusca() { vNM_Campo = "a.ID_ItemPaiAdic", vOperador = "=", vVL_Busca = val.id_item.ToString() } //Excluir Itens Filhos }, 0, string.Empty).ForEach(p => { p.st_registro = "C"; qtb_orc.Gravar(p); }); val.lSabores.ForEach(p => { TCN_SaboresItens.Excluir(p, qtb_orc.Banco_Dados); }); //Cancelamento das movimentações boliche TList_MovBoliche _MovBoliches = TCN_MovBoliche.Buscar(val.Cd_empresa, string.Empty, string.Empty, string.Empty, val.id_prevenda.ToString(), val.id_item.ToString(), null); _MovBoliches.ForEach(r => { r.Cancelado = true; r.LoginCanc = val.LoginCanc; new TCD_MovBoliche(qtb_orc.Banco_Dados).Gravar(r); }); qtb_orc.Gravar(val); if (st_transacao) { qtb_orc.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_orc.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir pre venda item: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_orc.deletarBanco_Dados(); } } }
private void fecharPista(object sender, ListViewItemSelectionChangedEventArgs e) { if (!e.IsSelected) { return; } modo = TTpModo.tm_Edit; //Busca caixa aberto CamadaDados.Faturamento.PDV.TList_CaixaPDV lCaixa = new CamadaDados.Faturamento.PDV.TCD_CaixaPDV().Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.login", vOperador = "=", vVL_Busca = "'" + Utils.Parametros.pubLogin + "'" }, new Utils.TpBusca() { vNM_Campo = "isnull(a.st_registro, 'A')", vOperador = "=", vVL_Busca = "'A'" } }, 1, string.Empty); if (lCaixa.Count > 0) { rCaixa = lCaixa[0]; } else { MessageBox.Show("Não existe caixa aberto para finalizar a movimentação!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } //Controlar tempo minimo para fechamento try { string[] minTime = e.Item.Text.ToString().Split(new string[] { " \n", " Tempo: " }, 0); if (Convert.ToDateTime(minTime[2]).TimeOfDay <= new TimeSpan(0, 0, 5)) { MessageBox.Show("Tempo mínimo para fechamento é de 5 segundos.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } catch { } //Busca Movimentação boliche pela ID DataRow rMov = new TCD_MovBoliche().Buscar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.id_pista", vOperador = "=", vVL_Busca = "'" + e.Item.SubItems[1].Text.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.DT_Fechamento", vOperador = "", vVL_Busca = "is null" } }, 1).Rows[0]; if (rMov == null) { return; } //Valida existencia de prevenda DataRow rPreVenda = new TCD_PreVenda().Buscar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + rMov[0].ToString().Trim() + "'" }, new TpBusca() { vNM_Campo = "a.id_cartao", vOperador = "=", vVL_Busca = "'" + rMov[1].ToString().Trim() + "'" }, new TpBusca() { vNM_Campo = "a.st_registro", vOperador = "=", vVL_Busca = "'A'" } }, 1).Rows[0]; if (rPreVenda == null) { MessageBox.Show("Não existe lançamento de pré-venda para o cartão informado.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } //Obtém valor por hora rMov[7] = CamadaDados.UtilData.Data_Servidor(); object rValorhora = null; TList_HoraBoliche lHora = null; //Buscar tipo servico pela pista object tp_servico = new TCD_PistaBoliche().BuscarEscalar(new TpBusca[] { new TpBusca() { vNM_Campo = "a.id_pista", vOperador = "=", vVL_Busca = "'" + e.Item.SubItems[1].Text.Trim() + "'" } }, "a.tp_servico"); if (tp_servico == null || string.IsNullOrEmpty(tp_servico.ToString())) { MessageBox.Show("Não foi possível obter o tipo de serviço, para o item selecionado.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } switch (tp_servico.ToString()) { case "B": lHora = new TCD_HoraBoliche().Select(new TpBusca[] { new TpBusca() { vNM_Campo = "a.tp_servico", vOperador = "=", vVL_Busca = "'B'" } }, 0, string.Empty, " dia, hora asc"); break; case "S": lHora = new TCD_HoraBoliche().Select(new TpBusca[] { new TpBusca() { vNM_Campo = "a.tp_servico", vOperador = "=", vVL_Busca = "'S'" } }, 0, string.Empty, " dia, hora asc"); break; } calcularVlPorServico(ref rValorhora, lHora, Convert.ToDateTime(rMov[6].ToString())); if (lHora == null || lHora.Count.Equals(0)) { MessageBox.Show("Não foi possível obter o valor por hora, para a pista de boliche.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (rValorhora == null) { MessageBox.Show("Não foi possível obter o valor por hora, para a pista de boliche.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } //Lança item na prevenda TRegistro_PreVenda_Item rItem = new TRegistro_PreVenda_Item() { Cd_empresa = rMov[0].ToString(), cd_produto = tp_servico.ToString().Equals("B") ? (string)new TCD_CFG().BuscarEscalar(new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + rMov[0].ToString().Trim() + "'" } }, "a.cd_horaboliche") : (string)new TCD_CFG().BuscarEscalar(new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + rMov[0].ToString().Trim() + "'" } }, "a.cd_horasinuca"), id_prevenda = decimal.Parse(rPreVenda[17].ToString().Trim()), quantidade = (decimal)Convert.ToDateTime(rMov[7].ToString()).Subtract(Convert.ToDateTime(rMov[6].ToString())).TotalMinutes / 60, vl_unitario = decimal.Parse(rValorhora.ToString()), vl_desconto = 0, obsItem = "Tempo: " + (Convert.ToDateTime(rMov[7].ToString()) - Convert.ToDateTime(rMov[6].ToString())), st_registro = "A", St_impresso = "N" }; TCN_PreVenda_Item.Gravar(rItem, null); //Atualiza prevenda e itemprevenda na movimentacao TCN_MovBoliche.Gravar(new TRegistro_MovBoliche() { Cd_Empresa = rItem.Cd_empresa, Id_Cartao = decimal.Parse(rMov[1].ToString().Trim()), Id_Pista = decimal.Parse(e.Item.SubItems[1].Text.Trim()), Id_Mov = decimal.Parse(rMov[3].ToString().Trim()), Id_PreVenda = rItem.id_prevenda, Id_Item = rItem.id_item, Dt_abertura = Convert.ToDateTime(rMov[6].ToString().Trim()), Dt_fechamento = Convert.ToDateTime(rMov[7].ToString().Trim()) }, null); //Reatualiza listagem de pistas atualizaListagem(); }