Example #1
0
        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();
                }
            }
        }
Example #2
0
        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();
        }
Example #3
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();
                }
            }
        }
Example #4
0
        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();
                }
            }
        }
Example #5
0
        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();
        }