public static string CancelarPreVenda(TRegistro_PreVenda val, 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; } val.lItens.ForEach(p => { p.st_registro = "C"; TCN_PreVenda_Item.Gravar(p, qtb_orc.Banco_Dados); }); val.st_ativo = "C"; 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: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_orc.deletarBanco_Dados(); } } }
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 Excluir(TRegistro_PreVenda val, 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; } //Verificar se venda possui cupom emitido pelo delivery if (new TCD_ItensPreVenda_X_ItensCupom(qtb_orc.Banco_Dados).BuscarEscalar( 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 = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from TB_PDV_NFCe x " + "where x.cd_empresa = a.cd_empresa " + "and x.id_nfce = a.id_cupom) " } }, "1") == null) { //Se não tiver excluir venda rápida CamadaDados.Faturamento.PDV.TList_VendaRapida lVendaRapida = new CamadaDados.Faturamento.PDV.TCD_VendaRapida(qtb_orc.Banco_Dados).Select( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from TB_RES_ItensPreVenda_X_ItensCupom x " + "where x.cd_empresa = a.cd_empresa " + "and x.id_vendarapida = a.id_vendarapida " + "and x.cd_empresa = '" + val.Cd_empresa.Trim() + "' " + "and x.id_prevenda = " + val.id_prevenda.ToString() + ") " } }, 0, string.Empty, string.Empty); //Exclui Venda Rápida if (lVendaRapida.Count > 0) { Faturamento.PDV.TCN_VendaRapida.ExcluirVendaRapida(lVendaRapida, qtb_orc.Banco_Dados); } } else { throw new Exception("Não é permitido cancelar venda que possui cupom fiscal!\r\n" + "Para excluir cupom fiscal acesse:\r\n" + "Faturamento>>Frente Caixa>>>Consulta - Venda Frente Caixa."); } val.lDelItens.ForEach(p => { p.st_registro = "C"; TCN_PreVenda_Item.Gravar(p, qtb_orc.Banco_Dados); }); val.lItens.ForEach(p => { p.st_registro = "C"; TCN_PreVenda_Item.Gravar(p, qtb_orc.Banco_Dados); }); //St_registro val.st_ativo = "C"; //Cancelamento do cartao qtb_orc.executarEscalar("update TB_RES_Cartao " + "set ST_Registro = 'C' " + "where ID_Cartao = " + val.id_cartao + " " + "update TB_RES_Cartao " + "set dt_fechamento = GETDATE() " + "where ID_Cartao = " + val.id_cartao + " ", null); 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: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_orc.deletarBanco_Dados(); } } }
public static string Gravar(TRegistro_PreVenda val, 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; } string ret = qtb_orc.Gravar(val); val.id_prevenda = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret, "@P_ID_PREVENDA")); //Comentado pos item já esta sendo cancelado pela tela de pre-venda do restaurante, //Código poderá ser reaproveitado quando item não for gravado na hora do lançamento. //val.lDelItens.ForEach(p => //{ // p.id_prevenda = val.id_prevenda; // TCN_PreVenda_Item.Excluir(p, qtb_orc.Banco_Dados); //}); val.lItens.ForEach(p => { p.id_prevenda = val.id_prevenda; TCN_PreVenda_Item.Gravar(p, qtb_orc.Banco_Dados); p.lSabores.ForEach(o => { o.Id_PreVenda = val.id_prevenda; o.Cd_Empresa = val.Cd_empresa; if (!string.IsNullOrEmpty(o.Id_ItemStr)) { TCN_SaboresItens.Gravar(o, 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(); } } }