private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (dataGridView1.Rows[e.RowIndex].Cells[1].Value == null)
            {
                MessageBox.Show("Debe introducir una cantidad a canjear.");
                return;
            }
            //Ignora los clicks que no son sobre los elementos de la columna de botones
            if (e.RowIndex < 0 || e.ColumnIndex != dataGridView1.Columns.IndexOf(dataGridView1.Columns["Seleccionar"]) || dataGridView1.DataSource == null)
            {
                return;
            }

            RecompensaDTO Recompensa = (RecompensaDTO)dataGridView1.Rows[e.RowIndex].DataBoundItem;
            int           Cantidad   = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[1].Value);

            if (Cantidad == 0)
            {
                MessageBox.Show("La cantidad a canjear debe ser mayor a 0.");
                return;
            }

            if (Recompensa.Stock > 0)
            {
                if (Recompensa.Millas * Cantidad < Convert.ToInt32(this.textBox2.Text))
                {
                    if (MillasDAO.doCanje(Convert.ToInt32(this.textDNI.Text), Recompensa.Id, Cantidad))
                    {
                        MessageBox.Show("Canje exitoso, imprima el comprobante y pase a retirar su recompensa por cualquiera de nuestras sucursales.");
                        Reload();
                    }
                    else
                    {
                        MessageBox.Show("Su canje no se ha efectuado con exito.");
                    }
                }
                else
                {
                    MessageBox.Show("No le alcanzan las millas para lo que intenta canjear.");
                }
            }
            else
            {
                MessageBox.Show("No hay stock suficiente del producto seleccionado.");
            }
        }
Ejemplo n.º 2
0
        private static List <RecompensaDTO> getRecompensasFromReader(SqlDataReader dataReader)
        {
            List <RecompensaDTO> ListaRecompensas = new List <RecompensaDTO>();

            if (dataReader.HasRows)
            {
                while (dataReader.Read())
                {
                    RecompensaDTO Recompensa = new RecompensaDTO();

                    Recompensa.Id          = Convert.ToInt32(dataReader["Id"]);
                    Recompensa.Descripcion = Convert.ToString(dataReader["Descripcion"]);
                    Recompensa.Stock       = Convert.ToInt32(dataReader["Stock"]);
                    Recompensa.Millas      = Convert.ToInt32(dataReader["Puntos"]);

                    ListaRecompensas.Add(Recompensa);
                }
                dataReader.Close();
                dataReader.Dispose();
            }
            return(ListaRecompensas);
        }