protected void llenarCategoria()
        {
            string    msn   = "";
            DataTable datos = PromocionTR.consultarCategorias(ref msn);

            if (datos != null)
            {
                DataRow fila1 = datos.NewRow();
                fila1["id"]     = "0";
                fila1["nombre"] = "TODOS";
                datos.Rows.InsertAt(fila1, 0);

                DataRow fila = datos.NewRow();
                fila["id"]     = "-1";
                fila["nombre"] = "SELECCIONADOS";
                datos.Rows.InsertAt(fila, 0);

                this.cmb_categoria.DataSource    = datos;
                this.cmb_categoria.ValueMember   = "id";
                this.cmb_categoria.DisplayMember = "nombre";

                //this.categoriaAnterior = -1;
                this.cmb_categoria.SelectedIndex = 0;
                //if (!this.estadoGuardar) this.llenarGrid();
            }
            else
            {
                Mensaje.error(msn);
            }
        }
 private void cmb_categoria_SelectedIndexChanged(object sender, EventArgs e)
 {
     try
     {
         List <int[]> datos = new List <int[]>();
         foreach (DataGridViewRow fila in this.grw_productos.Rows)
         {
             if (!String.IsNullOrEmpty(fila.Cells["elegido"].Value.ToString()) && Convert.ToBoolean(fila.Cells["elegido"].Value))
             {
                 int[] producto = new int[2];
                 producto[0] = Convert.ToInt32(fila.Cells["id"].Value);
                 producto[1] = Convert.ToInt32(fila.Cells["categoria"].Value);
                 datos.Add(producto);
             }
         }
         string      mensaje = "";
         PromocionTR tran    = new PromocionTR();
         tran.insertarProductos(ref mensaje, datos, 1, this.categoriaAnterior);
         this.categoriaAnterior = (this.cmb_categoria.SelectedIndex != 0) ? Convert.ToInt32(this.cmb_categoria.SelectedValue) : -1;
         this.llenarGrid();
     }
     catch (Exception error)
     {
         Mensaje.error(error.Message);
     }
 }
 private void btn_guardar_Click(object sender, EventArgs e)
 {
     try
     {
         if (!validar())
         {
             return;
         }
         if (hizoCambio)
         {
             this.guardarElegidos();
         }
         Promocion   promocion = this.tomarDatos();
         PromocionTR tran      = new PromocionTR(promocion);
         if (this.estadoGuardar)
         {
             tran.insertarPromocion();
             Mensaje.informacion("Promoción ingresada con éxito.");
             this.limpiar(false);
         }
         else
         {
             tran.actualizarPromocion();
             Mensaje.informacion("Promoción actualizada con éxito.");
             this.pasarDatos();
         }
     }
     catch (Exception error)
     {
         Mensaje.error(error.Message);
     }
 }
 protected void eliminar(DataGridViewCellEventArgs e)
 {
     try
     {
         if (Mensaje.confirmacion("¿Desea Eliminar la promoción?"))
         {
             int idPromocion = (int)this.grw_promociones["id", e.RowIndex].Value;
             if (PromocionTR.eliminarPromocion(idPromocion))
             {
                 this.grw_promociones.Rows.RemoveAt(e.RowIndex);
             }
         }
     }
     catch (Exception error)
     {
         Mensaje.error(error.Message);
     }
 }
        protected void llenarGrid()
        {
            this.grw_productos.DataBindings.Clear();
            grw_productos.Columns.Clear();
            string    mensaje     = "";
            int       idCategoria = (this.cmb_categoria.SelectedValue == null || this.cmb_categoria.SelectedIndex == 0) ? -1 : Convert.ToInt32(this.cmb_categoria.SelectedValue);
            DataTable datos       = PromocionTR.productosDisponibles(idCategoria);

            if (datos != null)
            {
                //DataTable temp = datos.Clone();
                //temp.Columns["elegido"].DataType = typeof(bool);
                datos.Columns.Add("elegido", typeof(bool)).SetOrdinal(1);
                foreach (DataRow fila in datos.Rows)
                {
                    fila["elegido"] = (Convert.ToBoolean(fila["temp"]));
                }



                this.grw_productos.DataSource                    = datos;
                this.grw_productos.Columns["id"].Visible         = false;
                this.grw_productos.Columns["elegido"].HeaderText = "";
                this.grw_productos.Columns["categoria"].Visible  = false;
                this.grw_productos.Columns["temp"].Visible       = false;
                int ancho = this.grw_productos.Width;
                this.grw_productos.Columns["elegido"].Width     = Convert.ToInt16(ancho * 0.10);
                this.grw_productos.Columns["codigo"].Width      = Convert.ToInt16(ancho * 0.15);
                this.grw_productos.Columns["nombre"].Width      = Convert.ToInt16(ancho * 0.25);
                this.grw_productos.Columns["descripcion"].Width = Convert.ToInt16(ancho * 0.50);


                /* ----------------------------------- */
                //this.grw_productos.Columns[4].Width = Convert.ToInt16(ancho * 0.45);
                //this.grw_productos.Columns[5].Width = Convert.ToInt16(ancho * 0.15);
                //if (this.grw_productos.Rows.Count > 0) this.grw_productos.Rows[0].Cells[1].Selected = true;
            }
            else
            {
                Mensaje.error(mensaje);
            }
        }
        protected void guardarElegidos()
        {
            List <int[]> datos = new List <int[]>();

            foreach (DataGridViewRow fila in this.grw_productos.Rows)
            {
                if (!String.IsNullOrEmpty(fila.Cells["elegido"].Value.ToString()) && Convert.ToBoolean(fila.Cells["elegido"].Value))
                {
                    int[] producto = new int[2];
                    producto[0] = Convert.ToInt32(fila.Cells["id"].Value);
                    producto[1] = Convert.ToInt32(fila.Cells["categoria"].Value);
                    datos.Add(producto);
                }
            }
            string      mensaje = "";
            PromocionTR tran    = new PromocionTR();

            tran.insertarProductos(ref mensaje, datos, 1, this.categoriaAnterior);
            this.categoriaAnterior = Convert.ToInt32(this.cmb_categoria.SelectedValue);
        }
        protected void llenarGrid(string estado)
        {
            try
            {
                this.grw_promociones.DataBindings.Clear();
                grw_promociones.Columns.Clear();
                DataTable datos = PromocionTR.consultarPromociones(estado);
                if (datos != null)
                {
                    this.grw_promociones.DataSource         = datos;
                    this.grw_promociones.Columns[0].Visible = false;
                    int ancho = this.grw_promociones.Width - 40;
                    this.grw_promociones.Columns[1].Width = Convert.ToInt16(ancho * 0.20);
                    this.grw_promociones.Columns[2].Width = Convert.ToInt16(ancho * 0.10);
                    this.grw_promociones.Columns[3].Width = Convert.ToInt16(ancho * 0.10);
                    this.grw_promociones.Columns[4].Width = Convert.ToInt16(ancho * 0.10);
                    this.grw_promociones.Columns[5].Width = Convert.ToInt16(ancho * 0.20);
                    this.grw_promociones.Columns[6].Width = Convert.ToInt16(ancho * 0.20);
                    this.grw_promociones.Columns[7].Width = Convert.ToInt16(ancho * 0.10);

                    DataGridViewButtonColumn bcol = new DataGridViewButtonColumn();
                    bcol.Width      = 20;
                    bcol.HeaderText = "";
                    bcol.Name       = "botonEditar";
                    bcol.UseColumnTextForButtonValue = true;
                    this.grw_promociones.Columns.Add(bcol);

                    DataGridViewButtonColumn bcol1 = new DataGridViewButtonColumn();
                    bcol1.Width      = 20;
                    bcol1.HeaderText = "";
                    bcol1.Name       = "botonEliminar";
                    bcol1.UseColumnTextForButtonValue = true;
                    this.grw_promociones.Columns.Add(bcol1);
                }
            }
            catch (Exception e)
            {
                Mensaje.error(e.Message);
            }
        }
        protected void llenarCategoria()
        {
            //PromocionTR pro = new PromocionTR();
            string    msn   = "";
            DataTable datos = PromocionTR.consultarCategorias(ref msn);

            if (datos != null)
            {
                DataRow fila = datos.NewRow();
                fila["nombre"] = "TODOS";
                datos.Rows.InsertAt(fila, 0);

                this.cmb_categoria.DataSource    = datos;
                this.cmb_categoria.ValueMember   = "id";
                this.cmb_categoria.DisplayMember = "nombre";
                this.cmb_categoria.SelectedIndex = -1;
            }
            else
            {
                Mensaje.error(msn);
            }
        }
 public frm_promocion(int idPromocion, int fila)
 {
     InitializeComponent();
     try
     {
         this.eliminarTemporal();
         this.idPromocion = idPromocion;
         this.fila        = fila;
         PromocionTR.cargarDatosTemporal(this.idConfiguracion, idPromocion);
         Promocion promocion = PromocionTR.consultarXId(idPromocion);
         if (promocion != null)
         {
             this.llenarDatos(promocion);
             this.btn_guardar.Text = "Actualizar";
             this.estadoGuardar    = false;
         }
     }
     catch (Exception e)
     {
         Mensaje.error(e.Message);
     }
 }
        protected void guardarElegidos(int indice)
        {
            List <int[]> datos         = new List <int[]>();
            DataGridView grw_productos = (DataGridView)this.paginas[indice][1];

            foreach (DataGridViewRow fila in grw_productos.Rows)
            {
                if (!String.IsNullOrEmpty(fila.Cells["elegido"].Value.ToString()) && Convert.ToBoolean(fila.Cells["elegido"].Value))
                {
                    int[] producto = new int[3];
                    producto[0] = Convert.ToInt32(fila.Cells["id"].Value);
                    producto[1] = Convert.ToInt32(fila.Cells["categoria"].Value);
                    //producto[2] = this.tac_productos.SelectedIndex;
                    datos.Add(producto);
                }
            }
            string      mensaje = "";
            PromocionTR tran    = new PromocionTR();

            tran.insertarProductos(ref mensaje, datos, 1, this.categoriaAnterior, indice);
            this.guardarCategoria(indice);
        }
        protected void llenarGrid(int indice)
        {
            DataGridView grw_productos = (DataGridView)this.paginas[indice][1];

            grw_productos.DataBindings.Clear();
            grw_productos.Columns.Clear();
            if (this.cmb_categoria.SelectedIndex == -1)
            {
                return;
            }
            string    mensaje     = "";
            int       idCategoria = (this.cmb_categoria.SelectedValue == null || this.cmb_categoria.SelectedIndex == 0) ? -1 : Convert.ToInt32(this.cmb_categoria.SelectedValue);
            DataTable datos       = PromocionTR.productosDisponibles(idCategoria, -1, indice, this.txt_filtro.Text);

            if (datos != null)
            {
                //DataTable temp = datos.Clone();
                //temp.Columns["elegido"].DataType = typeof(bool);
                datos.Columns.Add("elegido", typeof(bool)).SetOrdinal(1);
                foreach (DataRow fila in datos.Rows)
                {
                    fila["elegido"] = (Convert.ToBoolean(fila["temp"]));
                }
                grw_productos.DataSource                    = datos;
                grw_productos.Columns["id"].Visible         = false;
                grw_productos.Columns["elegido"].HeaderText = "";
                grw_productos.Columns["categoria"].Visible  = false;
                grw_productos.Columns["temp"].Visible       = false;
                int ancho = grw_productos.Width;
                grw_productos.Columns["elegido"].Width     = Convert.ToInt16(ancho * 0.10);
                grw_productos.Columns["codigo"].Width      = Convert.ToInt16(ancho * 0.15);
                grw_productos.Columns["nombre"].Width      = Convert.ToInt16(ancho * 0.25);
                grw_productos.Columns["descripcion"].Width = Convert.ToInt16(ancho * 0.50);
            }
            else
            {
                Mensaje.error(mensaje);
            }
        }
 private void btn_guardar_Click(object sender, EventArgs e)
 {
     try
     {
         if (!validar())
         {
             return;
         }
         int i = 0;
         foreach (object[] pagina in this.paginas)
         {
             if (Convert.ToBoolean(pagina[2]))
             {
                 this.guardarElegidos(i);
             }
             i++;
         }
         Promocion   promocion = this.tomarDatos();
         PromocionTR tran      = new PromocionTR(promocion);
         if (this.estadoGuardar)
         {
             tran.insertarPromocion();
             Mensaje.informacion("Promoción ingresada con éxito.");
             this.limpiar(false);
         }
         else
         {
             tran.actualizarPromocion();
             Mensaje.informacion("Promoción actualizada con éxito.");
             this.pasarDatos();
         }
     }
     catch (Exception error)
     {
         Mensaje.error(error.Message);
     }
 }
 protected void eliminarTemporal()
 {
     PromocionTR.eliminarTemporal(this.idConfiguracion);
 }