Ejemplo n.º 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);
            }
        }
Ejemplo n.º 2
0
        private void bsCartoesAbertos_PositionChanged(object sender, EventArgs e)
        {
            if (bsCartoesAbertos.Current == null || string.IsNullOrEmpty((bsCartoesAbertos.Current as TRegistro_Cartao).id_cartao.ToString()))
            {
                return;
            }

            //Buscar prevenda
            TpBusca[] tpBuscas = new TpBusca[0];
            Estruturas.CriarParametro(ref tpBuscas, "a.id_prevenda", (bsCartoesAbertos.Current as TRegistro_Cartao).id_cartao.ToString());
            object id_prevenda = new TCD_PreVenda().BuscarEscalar(tpBuscas, "a.id_prevenda");

            //Buscar itens prevenda
            if (id_prevenda != null && !string.IsNullOrEmpty(id_prevenda.ToString()))
            {
                BsItensPrevenda.DataSource = TCN_PreVenda_Item.Buscar((bsCartoesAbertos.Current as TRegistro_Cartao).Cd_empresa, id_prevenda.ToString(), string.Empty, string.Empty, null);
            }
        }
Ejemplo n.º 3
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();
        }