private void btnAceptar_Click(object sender, EventArgs e)
        {
            if ((!String.IsNullOrEmpty(cmbLocalDestino.Text)) || (!String.IsNullOrEmpty(cmbMovimiento.Text)) || !String.IsNullOrEmpty(dtpFechaEstimada.Text) || (!String.IsNullOrEmpty(cmbLocalOrigen.Text)))
            {

                int nA = 0;
                bool ok = true;
                for (int i = 0; i < lineas.Count; i++)
                {
                    dgvArticulos.Rows[i].DefaultCellStyle.BackColor = Color.White;
                }

                for (int i = 0; i < lineas.Count; i++)
                {
                    //verificar todo lleno
                    string s1 = dgvArticulos.Rows[i].Cells[3].FormattedValue.ToString();//cantidad
                    string s2 = dgvArticulos.Rows[i].Cells[2].FormattedValue.ToString();//stockactual
                    if (!String.IsNullOrEmpty(s1))
                    {
                        int cantidad;
                        //verificar numero valido
                        if (!int.TryParse(s1, out cantidad))
                        {
                            ok = false;
                            dgvArticulos.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown;
                        }
                        else
                        {
                            lineas[i].Cantidad = cantidad;
                            int stock; int.TryParse(s2, out stock);
                            if (stock < cantidad)/*VALIDAR STOCK MENOR CANTIDAD*/
                            {
                                ok = false;
                                dgvArticulos.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown;
                            }
                        }
                    }
                    else
                    {
                        dgvArticulos.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown;
                        ok = false;
                        nA = 1;
                    }
                }
                if (ok)
                {

                    SolicitudTransferencia solTrans = new SolicitudTransferencia();
                    solTrans.LocalOrigen = (Local)cmbLocalOrigen.SelectedItem;
                    solTrans.LocalDestino = (Local)cmbLocalDestino.SelectedItem;
                    solTrans.Movimiento = cmbMovimiento.Text;
                    solTrans.FechaEsperada = dtpFechaEstimada.Value;
                    solTrans.Estado= "Emitida";
                    solTrans.FechaSolicitud = DateTime.Now.Date;

                    SolicitudTransferenciaBL solTransBL = new SolicitudTransferenciaBL();
                    solTransBL.Grabar(solTrans);
                    new SolicitudTransferenciaLineaBL().AsignarSolicitudesLineas(lineas, solTrans);

                    Utils.Utils.OK(IND_MENSAJE);
                    this.Dispose();
                }
                else
                {
                    //mando msj de error
                    if (nA==0)Utils.Utils.Error(this, "Ingrese una cantidad menor al stock del local en las celdas resaltadas");
                    else Utils.Utils.Error(this, "Ingrese la cantidad solicitada");
                }

            }
            else
            {
                Utils.Utils.Error(this, "Ingrese los datos solicitados");
            }
        }
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            string msjError="";
            bool ok = true;

            //LIMPIAR CELDAS
            for (int i = 0; i < lineas.Count; i++)
                dgvArticulos.Rows[i].DefaultCellStyle.BackColor = Color.White;

            for (int i = 0; i < lineas.Count; i++)
            {
                //verificar todo lleno
                string s1 = dgvArticulos.Rows[i].Cells[3].FormattedValue.ToString();//cantidad
                string s2 = dgvArticulos.Rows[i].Cells[2].FormattedValue.ToString();//stockactual
                if (String.IsNullOrEmpty(s1))
                {
                    dgvArticulos.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown;
                    ok = false;
                    msjError = "Cantidad vacía.\n";
                }
                else
                {
                    int cantidad;
                    //verificar numero valido
                    if (!int.TryParse(s1, out cantidad))
                    {
                        ok = false;
                        dgvArticulos.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown;
                        msjError = "Número cantidad no válido.\n";
                    }
                    else
                    {
                        lineas[i].Cantidad = cantidad;
                        int stock; int.TryParse(s2, out stock);
                        if (stock < cantidad)/*VALIDAR STOCK MENOR CANTIDAD*/
                        {
                            ok = false;
                            dgvArticulos.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown;
                            msjError = "Cantidad superior a la permitida.\n";
                        }
                    }
                }

            }
            if (String.IsNullOrEmpty(dtpFechaEstimada.Text))
            {
                ok = false;
                msjError += "Ingrese Fecha Estimada.\n";
            }
            if (lineas.Count<=0)
            {
                ok = false;
                msjError += "No ha ingresado ningun articulo asociado.\n";
            }
            if (ok)
            {

                SolicitudTransferencia solTrans = new SolicitudTransferencia();
                solTrans.LocalOrigen = (Local)cmbLocalOrigen.SelectedItem;
                solTrans.LocalDestino = (Local)cmbLocalDestino.SelectedItem;
                solTrans.Movimiento = cmbMovimiento.Text;
                solTrans.FechaEsperada = dtpFechaEstimada.Value;
                solTrans.Estado = "Emitida";
                solTrans.FechaSolicitud = DateTime.Now.Date;

                SolicitudTransferenciaBL solTransBL = new SolicitudTransferenciaBL();
                solTransBL.Grabar(solTrans);
                new SolicitudTransferenciaLineaBL().AsignarSolicitudesLineas(lineas, solTrans);

                Utils.Utils.OK(IND_MENSAJE);
                this.Dispose();
            }
            else
                Utils.Utils.Error(this,msjError);
        }