Example #1
0
        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;
        }
Example #2
0
        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();
                }
            }
        }
Example #3
0
 public TFEmiteValePontosFid()
 {
     InitializeComponent();
     lPontos = new CamadaDados.Faturamento.Fidelizacao.TList_PontosFidelidade();
 }