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(); } } }
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(""); } }
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(); } } }
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(); } } }
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); } } }
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(); }