Esempio n. 1
0
 private void fecharCartao()
 {
     if (bsCartoesAbertos.Current != null)
     {
         //Buscar movimentação boliche em aberto
         // Lembrando que movimentação boliche em aberto não gera item na prevenda
         DataTable rMov = new TCD_MovBoliche().Buscar(
             new TpBusca[]
         {
             new TpBusca()
             {
                 vNM_Campo = "a.id_cartao",
                 vOperador = "=",
                 vVL_Busca = "'" + (bsCartoesAbertos.Current as TRegistro_Cartao).id_cartao + "'"
             },
             new TpBusca()
             {
                 vNM_Campo = "a.DT_Fechamento",
                 vOperador = "",
                 vVL_Busca = "is null"
             }
         }, 1);
         if (rMov.Rows.Count > 0)
         {
             MessageBox.Show("Cartão possui movimentação de serviços em aberto, favor dirigir-se ao caixa.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
             return;
         }
         ;
         if ((bsCartoesAbertos.Current as TRegistro_Cartao).valor_cartao.Equals(0) &&
             (bsCartoesAbertos.Current as TRegistro_Cartao).St_registro.Equals("A"))
         {
             if (MessageBox.Show("Confirma o fechamento do cartão?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.No)
             {
                 return;
             }
             (bsCartoesAbertos.Current as TRegistro_Cartao).St_registro = "F";
             TCN_Cartao.Gravar((bsCartoesAbertos.Current as TRegistro_Cartao), null);
             atualizaListagemCartao();
         }
         else
         {
             if ((bsCartoesAbertos.Current as TRegistro_Cartao).St_registro.Equals("F"))
             {
                 MessageBox.Show("Cartão consta com status fechado, não possui pendência.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 return;
             }
             MessageBox.Show("Cartão possui saldo em aberto, favor dirigir-se ao caixa.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
             afterValidacao();
         }
     }
 }
Esempio n. 2
0
        private string buscaNrCartao(string id_pista)
        {
            if (!string.IsNullOrEmpty(id_pista))
            {
                object id_cartao = new TCD_MovBoliche().BuscarEscalar(
                    new TpBusca[]
                {
                    new TpBusca()
                    {
                        vNM_Campo = "a.id_pista",
                        vOperador = "=",
                        vVL_Busca = "'" + id_pista.Trim() + "'"
                    },
                    new TpBusca()
                    {
                        vNM_Campo = "a.dt_fechamento",
                        vOperador = "",
                        vVL_Busca = "is null"
                    }
                }, "a.id_cartao");
                if (id_cartao == null)
                {
                    return("");
                }

                object nr_cartao = new TCD_Cartao().BuscarEscalar(
                    new TpBusca[]
                {
                    new TpBusca()
                    {
                        vNM_Campo = "a.id_cartao",
                        vOperador = "=",
                        vVL_Busca = "'" + id_cartao.ToString().Trim() + "'"
                    }
                }, "a.nr_cartao");
                if (nr_cartao == null)
                {
                    return("");
                }

                return(nr_cartao.SoNumero().ToString());
            }
            else
            {
                return("");
            }
        }
Esempio n. 3
0
        public static string Gravar(TRegistro_MovBoliche val, BancoDados.TObjetoBanco banco)
        {
            bool           st_transacao = false;
            TCD_MovBoliche qtb_orc      = new TCD_MovBoliche();

            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_Mov = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret, "@P_ID_MOV"));

                if (st_transacao)
                {
                    qtb_orc.Banco_Dados.Commit_Tran();
                }
                return(val.Id_Mov.ToString());
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_orc.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar movimentação: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_orc.deletarBanco_Dados();
                }
            }
        }
Esempio n. 4
0
        public static string Excluir(TRegistro_MovBoliche val, BancoDados.TObjetoBanco banco)
        {
            bool           st_transacao = false;
            TCD_MovBoliche qtb_orc      = new TCD_MovBoliche();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_orc.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_orc.Banco_Dados = banco;
                }

                string ret = qtb_orc.Excluir(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 movimentação: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_orc.deletarBanco_Dados();
                }
            }
        }
Esempio n. 5
0
        private void validaStatusCartao(string ncartao)
        {
            if (lcfg[0].Tp_cartao.Equals("0") && lcfg[0].nr_cartaorotini > Convert.ToDecimal(ncartao))
            {
                MessageBox.Show("N° Cartão (" + lcfg[0].nr_cartaorotini + ") é o mínimo da faixa de cartão rotativo!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
            }
            else if (lcfg[0].Tp_cartao.Equals("0") && lcfg[0].nr_cartaorotfin < Convert.ToDecimal(ncartao))
            {
                MessageBox.Show("N° Cartão (" + lcfg[0].nr_cartaorotfin + ") é o máximo da faixa de cartão rotativo!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
            }
            else if ((lcfg[0].Tp_cartao.Equals("0") || lcfg[0].bool_mesacartao) && lcfg[0].nr_cartaorotini > Convert.ToDecimal(ncartao))
            {
                MessageBox.Show("N° Cartão (" + lcfg[0].nr_cartaorotini + ") é o mínimo da faixa de cartão rotativo!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
            }
            else if ((lcfg[0].Tp_cartao.Equals("0") || lcfg[0].bool_mesacartao) && lcfg[0].nr_cartaorotfin < Convert.ToDecimal(ncartao))
            {
                MessageBox.Show("N° Cartão (" + lcfg[0].nr_cartaorotfin + ") é o máximo da faixa de cartão rotativo!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
            }
            else if (!lcfg[0].Tp_cartao.Equals("0"))
            {
                //verifica se existe cartao cadastrado
                object cartao_nm = new TCD_Cartao().BuscarEscalar(
                    new TpBusca[]
                {
                    new TpBusca()
                    {
                        vNM_Campo = "a.nr_cartao",
                        vOperador = "=",
                        vVL_Busca = ncartao
                    }
                }, "a.nr_cartao");
                if (cartao_nm == null)
                {
                    MessageBox.Show("Não existe cartão N° " + ncartao + " cadastrado!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                }
            }
            else if (lcfg[0].Tp_cartao.Equals("0"))
            {
                DataTable rCartao = new TCD_Cartao().Buscar(
                    new TpBusca[]
                {
                    new TpBusca()
                    {
                        vNM_Campo = "a.nr_cartao",
                        vOperador = "=",
                        vVL_Busca = "'" + ncartao + "'"
                    },
                    new TpBusca()
                    {
                        vNM_Campo = "a.st_registro",
                        vOperador = "=",
                        vVL_Busca = "'A'"
                    }
                }, 1);
                if (rCartao != null && rCartao.Rows.Count > 0)
                {
                    //Buscar movimentação boliche em aberto
                    DataTable rMov = new TCD_MovBoliche().Buscar(
                        new TpBusca[]
                    {
                        new TpBusca()
                        {
                            vNM_Campo = "a.id_cartao",
                            vOperador = "=",
                            vVL_Busca = "'" + rCartao.Rows[0].ItemArray[3] + "'"
                        },
                        new TpBusca()
                        {
                            vNM_Campo = "a.DT_Fechamento",
                            vOperador = "",
                            vVL_Busca = "is null"
                        }
                    }, 1);
                    if (rMov.Rows.Count > 0)
                    {
                        MessageBox.Show("Cartão possui movimentação de serviços em aberto, favor dirigir-se ao caixa.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    ;

                    //Buscar se cartão possui itens
                    if (rCartao.Rows[0].ItemArray[13] == null || string.IsNullOrEmpty(rCartao.Rows[0].ItemArray[13].ToString()) &&
                        (rCartao.Rows[0].ItemArray[10].Equals("A")))
                    {
                        if (MessageBox.Show("Cliente não consumiu nenhum item. Confirma o fechamento do cartão?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.No)
                        {
                            return;
                        }
                        TCN_Cartao.Gravar(new TRegistro_Cartao()
                        {
                            Cd_empresa = rCartao.Rows[0].ItemArray[1].ToString(), id_cartao = decimal.Parse(rCartao.Rows[0].ItemArray[3].ToString()), St_registro = "F"
                        }, null);
                    }
                    else
                    {
                        MessageBox.Show("O cartão de N° " + ncartao + " está ABERTO! Possui saldo em aberto, favor dirigir-se ao caixa.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    MessageBox.Show("O cartão de N° " + ncartao + " está LIBERADO!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
Esempio n. 6
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();
        }