private void bb_resgatar_Click(object sender, EventArgs e) { if (lPontos.Sum(p => p.SD_Pontos) < rCfgPosto.Qt_pontosvale_fid) { MessageBox.Show("Saldo de pontos insuficiente para emitir VALE<Pontos necessários por vale: " + rCfgPosto.Qt_pontosvale_fid.ToString() + ">.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } string loginautoriza = string.Empty; if (rCfgPosto.Qt_maxvaledia > decimal.Zero) { if (rCfgPosto.Qt_maxvaledia <= vales_impressos.Value) { using (Parametros.Diversos.TFRegraUsuario fRegra = new Parametros.Diversos.TFRegraUsuario()) { fRegra.Ds_regraespecial = "AUTORIZA EMISSÃO VALE PONTOS FIDELIZAÇÃO"; if (fRegra.ShowDialog() == DialogResult.OK) { loginautoriza = fRegra.Login; } else { return; } } } } CamadaDados.Faturamento.Fidelizacao.TRegistro_ValeResgate rVale = null; try { rVale = CamadaNegocio.PostoCombustivel.TCN_Convenio_Clifor.ResgatarPontosFid(lPontos, rCfgPosto.Qt_pontosvale_fid, LoginPDV, loginautoriza, null); lPontos.RemoveAll(p => p.SD_Pontos.Equals(decimal.Zero)); pontos_resgatar.Value = lPontos.Sum(p => p.SD_Pontos); BuscarValesDia(); } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } try { //Imprimir Vale List <string> Texto = new List <string>(); Texto.Add(" RESGATE PONTOS "); Texto.Add("VALE Nr.: " + rVale.Id_valestr); if (!string.IsNullOrWhiteSpace(pPlaca.Replace("-", string.Empty))) { Texto.Add("PLACA: " + pPlaca.Trim() + " VALE: " + rVale.Id_valestr); } else { Texto.Add("CLIENTE: " + pCd_clifor.Trim() + "-" + pNm_clifor.Trim()); } Texto.Add("DATA EMISSAO: " + CamadaDados.UtilData.Data_Servidor().ToString("dd/MM/yyyy HH:mm:ss")); //Buscar Nº Dias Validade if (rCfgPosto.diasValidadeVale > decimal.Zero) { Texto.Add("DT.VALIDADE: " + CamadaDados.UtilData.Data_Servidor().AddDays(int.Parse(rCfgPosto.diasValidadeVale.ToString())).ToString("dd/MM/yyyy")); } Texto.Add(string.Empty); Texto.Add(string.Empty); Texto.Add(string.Empty); //Verificar se existe msg especifica para clifor do convenio string Ds_msgVale_Clifor = string.Empty; if (!string.IsNullOrEmpty(pId_Convenio)) { object obj = new CamadaDados.PostoCombustivel.TCD_Convenio_Clifor().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = string.Empty, vVL_Busca = "a.cd_clifor = '" + pCd_clifor.Trim() + "' or exists(select 1 from TB_PDC_Convenio_X_Placa x " + "where a.id_convenio = x.id_convenio " + "and a.cd_empresa = x.cd_empresa " + "and a.cd_clifor = x.cd_clifor " + "and a.cd_endereco = x.cd_endereco " + "and a.cd_produto = x.cd_produto " + "and x.placa = '" + pPlaca.Trim() + "')" }, new TpBusca() { vNM_Campo = "a.id_convenio", vOperador = "=", vVL_Busca = pId_Convenio } }, "a.ds_msgvale"); Ds_msgVale_Clifor = obj == null ? string.Empty : obj.ToString(); } else { object obj = new CamadaDados.PostoCombustivel.TCD_Convenio_Clifor().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + rCfgPosto.Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = string.Empty, vOperador = string.Empty, vVL_Busca = "a.cd_clifor = '" + pCd_clifor.Trim() + "' or exists(select 1 from TB_PDC_Convenio_X_Placa x " + "where a.id_convenio = x.id_convenio " + "and a.cd_empresa = x.cd_empresa " + "and a.cd_clifor = x.cd_clifor " + "and a.cd_endereco = x.cd_endereco " + "and a.cd_produto = x.cd_produto " + "and x.placa = '" + pPlaca.Trim() + "')" }, new TpBusca() { vNM_Campo = "isnull(a.ds_msgvale, '')", vOperador = "<>", vVL_Busca = "''" } }, "a.ds_msgvale"); Ds_msgVale_Clifor = obj == null ? string.Empty : obj.ToString(); } if (string.IsNullOrEmpty(Ds_msgVale_Clifor)) { Texto.Add(rCfgPosto.Ds_msgvale.Trim().ToUpper()); } else { Texto.Add(Ds_msgVale_Clifor); } Texto.Add(string.Empty); Texto.Add(string.Empty); Texto.Add("PONTOS RESGATAR: " + lPontos.Sum(p => p.SD_Pontos).ToString()); ImprimirVale(Texto); //Marcar vale como impresso try { rVale.St_impresso = "S"; CamadaNegocio.Faturamento.Fidelizacao.TCN_ValeResgate.Gravar(rVale, null); } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch { } }