private void btnNuevoAgregarOrden_Click(object sender, EventArgs e)
 {
     FormGenerarOrdenCompra orden = FormGenerarOrdenCompra.GetInstacnia();
     int  idproducto = 0;
     bool agregar    = true;
     bool actualizar = false;
 }
        private void btnNuevoAgregarOrden_Click(object sender, EventArgs e)
        {
            FormGenerarOrdenCompra orden = FormGenerarOrdenCompra.GetInstacnia();
            int    idproducto            = 0;
            bool   agregar    = true;
            bool   actualizar = true;
            string rpta       = "";

            if (gridViewListaProductosRecientes.DataRowCount == 0)
            {
                XtraMessageBox.Show("Debe crear uno o mas productos para agregar", "Agregando productos", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                //____
                List <MSubOrdenDetalle> detalleInsercion = new List <MSubOrdenDetalle>();
                for (int i = 0; i < gridViewListaProductosRecientes.DataRowCount; i++)
                {
                    MSubOrdenDetalle subordenDetalle = new MSubOrdenDetalle();
                    subordenDetalle.IdTienda               = Configuraciones.Configuraciones.idtienda;
                    subordenDetalle.IdSuborden             = orden.idsuborden;
                    subordenDetalle.IdCapturaPedidoDetalle = 0;
                    subordenDetalle.IdSubOrdenDetalle      = 0;
                    subordenDetalle.Idproducto             = Convert.ToInt32(gridViewListaProductosRecientes.GetRowCellValue(i, "idproducto"));
                    subordenDetalle.CantidadAutorizada     = Convert.ToInt32(gridViewListaProductosRecientes.GetRowCellValue(i, "cantidad_autorizar"));
                    subordenDetalle.PrecioCompra           = 0;
                    subordenDetalle.Precioa         = 0;
                    subordenDetalle.IdCapturaPedido = 0;
                    subordenDetalle.Opcion          = 1;
                    detalleInsercion.Add(subordenDetalle);
                }

                if (actualizar == true)
                {
                    orden.ActualizarDetalleRequisicion(detalleInsercion);


                    for (int i = 0; i < gridViewListaProductosRecientes.DataRowCount; i++)
                    {
                        ControllerGenerarOrdenCompra.ProductosDejanDeSerRecientes(Convert.ToInt32(gridViewListaProductosRecientes.GetRowCellValue(i, "idproducto")));
                    }
                    this.Close();
                }
            }
        }
        private void btnTodosProdsAgregarOrden_Click(object sender, EventArgs e)
        {
            FormGenerarOrdenCompra orden = FormGenerarOrdenCompra.GetInstacnia();
            int  idproducto = 0;
            bool agregar    = true;
            bool actualizar = true;

            cerrar = true;

            if (gridViewListaTodos.SelectedRowsCount == 0)
            {
                XtraMessageBox.Show("Debe seleccionar los productos para agregar", "Agregando productos", MessageBoxButtons.OK, MessageBoxIcon.Information);
                agregar = false;
            }

            foreach (int indice in gridViewListaTodos.GetSelectedRows())
            {
                if (Convert.ToInt32(gridViewListaTodos.GetRowCellValue(indice, "cantidad_autorizar")) == 0)
                {
                    XtraMessageBox.Show("Uno o varios productos seleccionados deben tener cantidad mayor a 0", "Agregando productos", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    agregar = false;
                    break;
                }
            }

            foreach (int indice in gridViewListaTodos.GetSelectedRows())
            {
                idproducto = Convert.ToInt32(gridViewListaTodos.GetRowCellValue(indice, "idproducto"));
                for (int i = 0; i < orden.gridViewDetalleSubOrden.DataRowCount; i++)
                {
                    if (Convert.ToInt32(orden.gridViewDetalleSubOrden.GetRowCellValue(i, "idproducto")) == idproducto)
                    {
                        agregar    = false;
                        actualizar = false;
                        if (XtraMessageBox.Show("El producto " + Convert.ToString(gridViewListaTodos.GetRowCellValue(indice, "codigo")) + " " + Convert.ToString(gridViewListaTodos.GetRowCellValue(indice, "nombre")) + " ya esta agregado en la suborden del proveedor con una cantidad de " + orden.gridViewDetalleSubOrden.GetRowCellValue(i, "cantidad_autorizada").ToString() + ", desea aumentar la cantidad a requerir al proveedor?", "Agregando productos", MessageBoxButtons.YesNo) != DialogResult.No)
                        {
                            orden.gridViewDetalleSubOrden.SetRowCellValue(i, "cantidad_autorizada", Convert.ToInt32(orden.gridViewDetalleSubOrden.GetRowCellValue(i, "cantidad_autorizada")) + Convert.ToInt32(gridViewListaTodos.GetRowCellValue(indice, "cantidad_autorizar")));
                        }
                    }
                }
            }



            if (agregar)
            {
                List <MSubOrdenDetalle> detalleInsercion = new List <MSubOrdenDetalle>();
                foreach (int indice in gridViewListaTodos.GetSelectedRows())
                {
                    MSubOrdenDetalle subordenDetalle = new MSubOrdenDetalle();
                    subordenDetalle.IdTienda               = Configuraciones.Configuraciones.idtienda;
                    subordenDetalle.IdSuborden             = orden.idsuborden;
                    subordenDetalle.IdCapturaPedidoDetalle = 0;
                    subordenDetalle.IdSubOrdenDetalle      = 0;
                    subordenDetalle.Idproducto             = Convert.ToInt32(gridViewListaTodos.GetRowCellValue(indice, "idproducto"));
                    subordenDetalle.CantidadAutorizada     = Convert.ToInt32(gridViewListaTodos.GetRowCellValue(indice, "cantidad_autorizar"));
                    subordenDetalle.PrecioCompra           = 0;
                    subordenDetalle.Precioa         = 0;
                    subordenDetalle.Opcion          = 1;
                    subordenDetalle.IdCapturaPedido = 0;
                    detalleInsercion.Add(subordenDetalle);
                }


                if (actualizar == true)
                {
                    orden.ActualizarDetalleRequisicion(detalleInsercion);
                    this.Close();
                }
            }
        }