private void gPontosFid_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { if (gPontosFid.Columns[e.ColumnIndex].SortMode == DataGridViewColumnSortMode.NotSortable) { return; } if (bsPontosFid.Count < 1) { return; } PropertyDescriptorCollection lP = TypeDescriptor.GetProperties(new CamadaDados.Faturamento.Fidelizacao.TRegistro_PontosFidelidade()); CamadaDados.Faturamento.Fidelizacao.TList_PontosFidelidade lComparer; SortOrder direcao = SortOrder.None; if ((gPontosFid.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == SortOrder.None) || (gPontosFid.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == SortOrder.Descending)) { lComparer = new CamadaDados.Faturamento.Fidelizacao.TList_PontosFidelidade(lP.Find(gPontosFid.Columns[e.ColumnIndex].DataPropertyName, true), SortOrder.Ascending); foreach (DataGridViewColumn c in gPontosFid.Columns) { c.HeaderCell.SortGlyphDirection = SortOrder.None; } direcao = SortOrder.Ascending; } else { lComparer = new CamadaDados.Faturamento.Fidelizacao.TList_PontosFidelidade(lP.Find(gPontosFid.Columns[e.ColumnIndex].DataPropertyName, true), SortOrder.Descending); foreach (DataGridViewColumn c in gPontosFid.Columns) { c.HeaderCell.SortGlyphDirection = SortOrder.None; } direcao = SortOrder.Descending; } (bsPontosFid.List as CamadaDados.Faturamento.Fidelizacao.TList_PontosFidelidade).Sort(lComparer); bsPontosFid.ResetBindings(false); gPontosFid.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection = direcao; }
public static CamadaDados.Faturamento.Fidelizacao.TRegistro_ValeResgate ResgatarPontosFid(CamadaDados.Faturamento.Fidelizacao.TList_PontosFidelidade lPontos, decimal pontos_resgatar, string LoginPDV, string LoginAutoriza, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Convenio_Clifor qtb_conv = new TCD_Convenio_Clifor(); CamadaDados.Faturamento.Fidelizacao.TRegistro_ValeResgate vale = new CamadaDados.Faturamento.Fidelizacao.TRegistro_ValeResgate(); try { if (banco == null) { st_transacao = qtb_conv.CriarBanco_Dados(true); } else { qtb_conv.Banco_Dados = banco; } decimal pontos = decimal.Zero; DateTime?dt_atual = CamadaDados.UtilData.Data_Servidor(qtb_conv.Banco_Dados); foreach (CamadaDados.Faturamento.Fidelizacao.TRegistro_PontosFidelidade rPonto in lPontos.OrderBy(p => p.Dt_registro).ToList()) { if (pontos_resgatar > decimal.Zero) { pontos = (pontos_resgatar < rPonto.SD_Pontos ? pontos_resgatar : rPonto.SD_Pontos); CamadaDados.Faturamento.Fidelizacao.TRegistro_ResgatePontos rResgate = new CamadaDados.Faturamento.Fidelizacao.TRegistro_ResgatePontos(); rResgate.Cd_empresa = rPonto.Cd_empresa; rResgate.Id_ponto = rPonto.Id_ponto; rResgate.Login = LoginPDV; rResgate.Qt_pontos = pontos; rResgate.Dt_resgate = dt_atual; rResgate.St_registro = "A"; vale.lResgate.Add(rResgate); pontos_resgatar -= pontos; rPonto.Pontos_res += pontos; } else { break; } } //Gravar vale vale.Cd_empresa = vale.lResgate[0].Cd_empresa; vale.Loginautoriza = LoginAutoriza; CamadaNegocio.Faturamento.Fidelizacao.TCN_ValeResgate.Gravar(vale, qtb_conv.Banco_Dados); if (st_transacao) { qtb_conv.Banco_Dados.Commit_Tran(); } return(vale); } catch (Exception ex) { if (st_transacao) { qtb_conv.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar resgate pontos: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_conv.deletarBanco_Dados(); } } }
public TFEmiteValePontosFid() { InitializeComponent(); lPontos = new CamadaDados.Faturamento.Fidelizacao.TList_PontosFidelidade(); }