コード例 #1
0
        private bool validarCartao()
        {
            edt_cartao.Text = edt_cartao.Text.SoNumero().Trim();
            if (string.IsNullOrEmpty(edt_cartao.Text.SoNumero().Trim()))
            {
                return(false);
            }
            else if (_Cfg.bool_abrircartao && (_Cfg.Tp_cartao.Equals("0") || (_Cfg.bool_mesacartao && _Cfg.Tp_cartao.Equals("0"))) && _Cfg.nr_cartaorotini > Convert.ToDecimal(edt_cartao.Text))
            {
                MessageBox.Show("N° Cartão (" + _Cfg.nr_cartaorotini + ") é o mínimo da faixa de cartão rotativo!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                return(false);
            }
            else if (_Cfg.bool_abrircartao && (_Cfg.Tp_cartao.Equals("0") || (_Cfg.bool_mesacartao && _Cfg.Tp_cartao.Equals("0"))) && _Cfg.nr_cartaorotfin < Convert.ToDecimal(edt_cartao.Text))
            {
                MessageBox.Show("N° Cartão (" + _Cfg.nr_cartaorotfin + ") é o máximo da faixa de cartão rotativo!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                return(false);
            }

            TList_Cartao cartao = new TCD_Cartao().Select(new TpBusca[]
            {
                new TpBusca()
                {
                    vNM_Campo = "a.nr_cartao",
                    vOperador = "=",
                    vVL_Busca = "'" + edt_cartao.Text + "'"
                },
                new TpBusca()
                {
                    vNM_Campo = "a.st_registro",
                    vOperador = "=",
                    vVL_Busca = "'A'"
                }
            }, 1, string.Empty, string.Empty);

            if (cartao.Count > 0)
            {
                _Cartao = cartao[0];

                //Buscar prevenda
                _Cartao.lPreVenda = TCN_PreVenda.Buscar(_Cartao.Cd_empresa, _Cartao.id_cartao.ToString(), string.Empty, string.Empty, string.Empty, "A", null);

                //Buscar itens da prevenda
                _Cartao.lPreVenda.ForEach(p =>
                {
                    p.lItens = TCN_PreVenda_Item.Buscar(p.Cd_empresa, p.id_prevenda.ToString(), string.Empty, string.Empty, null);
                });

                return(true);
            }
            else if (abrirCartao())
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
コード例 #2
0
        public static string FecharCartao(TRegistro_Cartao val,
                                          CamadaDados.Faturamento.PDV.TRegistro_VendaRapida rVenda,
                                          ThreadEspera tEspera,
                                          BancoDados.TObjetoBanco banco)
        {
            bool       st_transacao = false;
            TCD_Cartao qtb_orc      = new TCD_Cartao();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_orc.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_orc.Banco_Dados = banco;
                }
                //Gravar Venda
                Faturamento.PDV.TCN_VendaRapida.GravarVendaRapida(rVenda,
                                                                  null,
                                                                  null,
                                                                  qtb_orc.Banco_Dados);
                //Fechar Cartão
                val.St_registro   = "F";
                val.Dt_fechamento = CamadaDados.UtilData.Data_Servidor(qtb_orc.Banco_Dados);
                Gravar(val, qtb_orc.Banco_Dados);
                if (st_transacao)
                {
                    qtb_orc.Banco_Dados.Commit_Tran();
                }
                return(val.id_cartao.ToString());
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_orc.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar CARTAO: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_orc.deletarBanco_Dados();
                }
            }
        }
コード例 #3
0
        public static string GravarDelivery(TRegistro_Cartao val, CamadaDados.Restaurante.Cadastro.TRegistro_Clifor cli, BancoDados.TObjetoBanco banco)
        {
            bool       st_transacao = false;
            TCD_Cartao qtb_orc      = new TCD_Cartao();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_orc.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_orc.Banco_Dados = banco;
                }
                val.Cd_Clifor = CamadaNegocio.Restaurante.Cadastro.TCN_CliFor.Gravar(cli, qtb_orc.Banco_Dados);

                string ret = qtb_orc.Gravar(val);
                val.id_cartao = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret, "@P_ID_CARTAO"));
                val.lPreVenda.ForEach(p =>
                {
                    p.Cd_empresa = val.Cd_empresa;
                    p.id_cartao  = val.id_cartao;
                    TCN_PreVenda.Gravar(p, qtb_orc.Banco_Dados);
                });

                if (st_transacao)
                {
                    qtb_orc.Banco_Dados.Commit_Tran();
                }
                return(val.id_cartao.ToString());
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_orc.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar CARTAO: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_orc.deletarBanco_Dados();
                }
            }
        }
コード例 #4
0
        private bool abrirCartao()
        {
            if (!string.IsNullOrEmpty(_Cfg.Cd_Clifor))
            {
                _Cartao             = new TRegistro_Cartao();
                _Cartao.Cd_empresa  = _Cfg.cd_empresa;
                _Cartao.Cd_Clifor   = _Cfg.Cd_Clifor;
                _Cartao.Nm_Clifor   = _Cfg.nm_clifor;
                _Cartao.Dt_abertura = CamadaDados.UtilData.Data_Servidor();
                _Cartao.lPreVenda.Add(new TRegistro_PreVenda());
                _Cartao.lPreVenda[0].Dt_venda = CamadaDados.UtilData.Data_Servidor();
                return(true);
            }

            return(false);
        }
コード例 #5
0
        public static string Excluir(TRegistro_Cartao val, BancoDados.TObjetoBanco banco)
        {
            bool st_transacao = false;

            TCD_Cartao qtb_orc = new TCD_Cartao();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_orc.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_orc.Banco_Dados = banco;
                }
                //Excluir PreVenda
                val.lPreVenda.ForEach(p => TCN_PreVenda.Excluir(p, qtb_orc.Banco_Dados));
                val.St_registro = "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 CARTAO: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_orc.deletarBanco_Dados();
                }
            }
        }
コード例 #6
0
        public static void GravarCupom(TList_PreVenda_Item val, TRegistro_Cartao cartao)
        {
            TRegistro_VendaRapida rVenda = new TRegistro_VendaRapida();

            val.ForEach(p =>
            {
                rVenda.lItem.Add(new TRegistro_VendaRapida_Item
                {
                    Cd_produto  = p.cd_produto,
                    Quantidade  = p.quantidade_agregar,
                    Vl_unitario = p.vl_unitario,
                    Vl_subtotal = p.vl_subtotal
                });
            });
            rVenda.rCliente = new CamadaDados.Financeiro.Cadastros.TCD_CadClifor().Select(
                new TpBusca[]
            {
                new TpBusca()
                {
                    vNM_Campo = "a.cd_clifor",
                    vOperador = "=",
                    vVL_Busca = cartao.Cd_Clifor
                }
            }, 1, string.Empty)[0];
            rVenda.rEndCli = new CamadaDados.Financeiro.Cadastros.TCD_CadEndereco().Select(
                new TpBusca[]
            {
                new TpBusca()
                {
                    vNM_Campo = "a.cd_clifor",
                    vOperador = "=",
                    vVL_Busca = cartao.Cd_Clifor
                }
            }, 1, string.Empty)[0];

            Faturamento.PDV.TCN_VendaRapida.GravarVendaRapida(rVenda,
                                                              null,
                                                              null,
                                                              null);
        }
コード例 #7
0
        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();
                }
            }
        }
コード例 #8
0
        public static string Gravar(TRegistro_Cartao val, BancoDados.TObjetoBanco banco)
        {
            bool       st_transacao = false;
            TCD_Cartao qtb_orc      = new TCD_Cartao();

            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_cartao = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret, "@P_ID_CARTAO"));
                if (!string.IsNullOrWhiteSpace(val.Cd_Clifor) &&
                    !string.IsNullOrEmpty(val.Nm_Clifor))
                {
                    //Verificar se nome do cliente foi alterado
                    CamadaDados.Restaurante.Cadastro.TRegistro_Clifor rClifor =
                        new CamadaDados.Restaurante.Cadastro.TCD_Clifor(qtb_orc.Banco_Dados).Select(
                            new TpBusca[] { new TpBusca {
                                                vNM_Campo = "a.cd_clifor", vOperador = "=", vVL_Busca = "'" + val.Cd_Clifor.Trim() + "'"
                                            } }, 1, string.Empty)[0];
                    if (rClifor.Nm_clifor.Trim().ToUpper() != val.Nm_Clifor.Trim().ToUpper())
                    {
                        rClifor.Nm_clifor = val.Nm_Clifor;
                        Cadastro.TCN_CliFor.Gravar(rClifor, qtb_orc.Banco_Dados);
                    }
                }
                val.lPreVenda.ForEach(p =>
                {
                    p.Cd_empresa = val.Cd_empresa;
                    p.id_cartao  = val.id_cartao;
                    TCN_PreVenda.Gravar(p, qtb_orc.Banco_Dados);
                });

                if (st_transacao)
                {
                    qtb_orc.Banco_Dados.Commit_Tran();
                }
                return(val.id_cartao.ToString());
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_orc.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar CARTAO: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_orc.deletarBanco_Dados();
                }
            }
        }
コード例 #9
0
        private void abrirCartao()
        {
            if (tpModo != TTpModo.tm_busca)
            {
                return;
            }
            if (!string.IsNullOrEmpty(nr_cartao.Text.ToString().Trim().SoNumero()) && !string.IsNullOrEmpty(txtDados.Text))
            {
                DataTable rClifor = new TCD_Clifor().Buscar(
                    new TpBusca[]
                {
                    new TpBusca()
                    {
                        vNM_Campo = "a.cd_clifor",
                        vOperador = "=",
                        vVL_Busca = "'" + cd_clifor.ToString().Trim() + "'"
                    }
                }, 1);
                if (rClifor.Rows.Count.Equals(0))
                {
                    return;
                }

                // busca cartao se estiver aberto
                TList_Cartao lCartao = new TCD_Cartao().Select(
                    new TpBusca[]
                {
                    new TpBusca()
                    {
                        vNM_Campo = "a.nr_cartao",
                        vOperador = "=",
                        vVL_Busca = "'" + nr_cartao.Text.ToString().Trim().SoNumero() + "'"
                    },
                    new TpBusca()
                    {
                        vNM_Campo = "a.st_registro",
                        vOperador = "=",
                        vVL_Busca = "'A'"
                    }
                }, 1, string.Empty, string.Empty);
                if (lCartao.Count > 0)
                {
                    MessageBox.Show("Erro: O número " + nr_cartao.Text.ToString().Trim().SoNumero() + " de cartão consta como aberto!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    nr_cartao.Text = "";
                    nr_cartao.Focus();
                    return;
                }
                else if (lcfg[0].bool_mesacartao || lcfg[0].Tp_cartao.Equals("0"))
                {
                    // abre um novo cartao rotativo
                    TRegistro_Cartao rcartao = new TRegistro_Cartao();
                    rcartao.nr_cartao       = nr_cartao.Text.ToString().Trim().SoNumero();
                    rcartao.Dt_abertura     = CamadaDados.UtilData.Data_Servidor();
                    rcartao.St_registro     = "A";
                    rcartao.vl_limitecartao = decimal.Zero;
                    rcartao.st_menor        = cbMenor.Checked;
                    rcartao.Cd_empresa      = lcfg[0].cd_empresa;
                    rcartao.Cd_Clifor       = rClifor.Rows[0].ItemArray[1].ToString().Trim();
                    rcartao.Nm_Clifor       = nome_clifor.Text;
                    TRegistro_PreVenda pre = new TRegistro_PreVenda();
                    pre.Dt_venda = CamadaDados.UtilData.Data_Servidor();
                    rcartao.lPreVenda.Add(pre);
                    TCN_Cartao.Gravar(rcartao, null);
                    MessageBox.Show("O cartão de número: " + nr_cartao.Text.ToString().Trim().SoNumero() + "  foi aberto com sucesso!", "Mensagem", MessageBoxButtons.OK);
                }
                else if (lCartao.Count.Equals(0))
                {
                    TList_Cartao cartaonovo = new TCD_Cartao().Select(
                        new TpBusca[]
                    {
                        new TpBusca()
                        {
                            vNM_Campo = "a.nr_cartao",
                            vOperador = "=",
                            vVL_Busca = nr_cartao.Text.ToString().Trim().SoNumero()
                        }
                    }, 1, string.Empty, string.Empty);
                    // abre um novo cartao
                    if (cartaonovo.Count > 0)
                    {
                        TRegistro_Cartao rcartao = new TRegistro_Cartao();
                        rcartao.nr_cartao       = nr_cartao.Text.ToString().Trim().SoNumero();
                        rcartao.Dt_abertura     = DateTime.Now;
                        rcartao.St_registro     = "A";
                        rcartao.Cd_Clifor       = cartaonovo[0].Cd_Clifor;
                        rcartao.vl_limitecartao = cartaonovo[0].vl_limitecartao;
                        rcartao.status_menor    = cartaonovo[0].status_menor;
                        rcartao.Cd_empresa      = lcfg[0].cd_empresa;
                        rcartao.Cd_Clifor       = rClifor.Rows[0].ItemArray[1].ToString().Trim();
                        rcartao.Nm_Clifor       = nome_clifor.Text;
                        TRegistro_PreVenda pre = new TRegistro_PreVenda();
                        rcartao.lPreVenda.Add(pre);
                        TCN_Cartao.Gravar(rcartao, null);
                    }
                }
            }
            else
            {
                MessageBox.Show("Informe o número do cartão!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
            }

            tpModo = TTpModo.tm_Standby;
            afternovo();
        }