public static void ProcessarPontosFid(TRegistro_Convenio_Clifor rConv, TRegistro_VendaCombustivel rVenda, string Placa, string Cpf_motorista, BancoDados.TObjetoBanco banco) { if ((rConv.Base_calc_fid > decimal.Zero) && (!string.IsNullOrEmpty(rConv.Tp_qt_vl)) && (rConv.Qt_pontos_fid > decimal.Zero) && !string.IsNullOrWhiteSpace(Placa)) { rVenda.rPontosFid = new CamadaDados.Faturamento.Fidelizacao.TRegistro_PontosFidelidade(); rVenda.rPontosFid.Cd_empresa = rVenda.Cd_empresa; if (rConv.Tp_pontos_fid.Trim().ToUpper().Equals("M")) { rVenda.rPontosFid.Cpf_cliente = Cpf_motorista; } else if (rConv.Tp_pontos_fid.Trim().ToUpper().Equals("P")) { rVenda.rPontosFid.Placa = Placa; } else { rVenda.rPontosFid.Cd_clifor = rConv.Cd_clifor; } rVenda.rPontosFid.Dt_registro = CamadaDados.UtilData.Data_Servidor(banco); if (rConv.Nr_diasvalidade_fid > decimal.Zero) { rVenda.rPontosFid.Dt_validade = rVenda.rPontosFid.Dt_registro.Value.AddDays(Convert.ToDouble(rConv.Nr_diasvalidade_fid)); } if (rConv.Tp_qt_vl.Trim().Equals("Q"))//Quantidade { int resto = 0; rVenda.rPontosFid.Qt_pontos = Math.DivRem(Convert.ToInt32(rVenda.Volumeabastecido), Convert.ToInt32(rConv.Base_calc_fid), out resto) * rConv.Qt_pontos_fid; } else//Valor { int resto = 0; rVenda.rPontosFid.Qt_pontos = Math.DivRem(Convert.ToInt32(rVenda.Vl_subtotal), Convert.ToInt32(rConv.Base_calc_fid), out resto) * rConv.Base_calc_fid; } //buscar se placa é bloqueada if (new TCD_PlacaBloqPontos().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.placa", vOperador = "=", vVL_Busca = "'" + rVenda.Placaveiculo + "'" } }, "a.placa") != null) { rVenda.rPontosFid.St_registro = "C"; } } }
public static void ReceberVendaCombustivel(TRegistro_VendaCombustivel val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_VendaCombustivel qtb_venda = new TCD_VendaCombustivel(); try { if (banco == null) { st_transacao = qtb_venda.CriarBanco_Dados(true); } else { qtb_venda.Banco_Dados = banco; } val.St_registro = "F"; qtb_venda.Gravar(val); if (st_transacao) { qtb_venda.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_venda.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro receber venda combustivel: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_venda.deletarBanco_Dados(); } } }
public static string Gravar(TRegistro_VendaCombustivel val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_VendaCombustivel qtb_venda = new TCD_VendaCombustivel(); try { if (banco == null) { st_transacao = qtb_venda.CriarBanco_Dados(true); } else { qtb_venda.Banco_Dados = banco; } if ((val.Id_bico == null) && (!string.IsNullOrEmpty(val.Enderecofisicobico)) && (val.Id_venda == null)) { object obj = new CamadaDados.PostoCombustivel.Cadastros.TCD_BicoBomba(qtb_venda.Banco_Dados).BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "a.EnderecoFisicoBico", vOperador = "=", vVL_Busca = "'" + val.Enderecofisicobico.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "isnull(a.st_registro, 'A')", vOperador = "<>", vVL_Busca = "'C'" } }, "a.id_bico"); if (obj != null) { val.Id_bico = decimal.Parse(obj.ToString()); } } val.Id_vendastr = CamadaDados.TDataQuery.getPubVariavel(qtb_venda.Gravar(val), "@P_ID_VENDA"); if (st_transacao) { qtb_venda.Banco_Dados.Commit_Tran(); } return(val.Id_vendastr); } catch (Exception ex) { if (st_transacao) { qtb_venda.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar venda combustivel: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_venda.deletarBanco_Dados(); } } }