コード例 #1
0
        protected void fnBuscaArticuloporID()
        {
            BLArticulo bloArticulo = new BLArticulo();

            objectArticulo = bloArticulo.BuscaArticuloPorID(Convert.ToInt64(hdnParametros.Value));
            LlenaControles();
        }
コード例 #2
0
        //Ejemplo para mostrar el reporte
        private void mostrarReporteEjemplo()
        {
            ReporteArticulos reporte = new ReporteArticulos();
            BLArticulo       art1    = new BLArticulo();

            art1.numeroPlaca       = "H81273";
            art1.nombArticulo      = "Manual de conductor";
            art1.estadoArticulo    = "Bueno";
            art1.ubicacionArticulo = "Departamento";
            art1.nombCategoria     = "General";
            reporte.listaReporte.Add(art1);

            BLArticulo art2 = new BLArticulo();

            art2.numeroPlaca       = "881205";
            art2.nombArticulo      = "Borrador";
            art2.estadoArticulo    = "Malo";
            art2.ubicacionArticulo = "Bodegas";
            art2.nombCategoria     = "Nutrición";
            reporte.listaReporte.Add(art2);

            BLArticulo art3 = new BLArticulo();

            art3.numeroPlaca       = "94014";
            art3.nombArticulo      = "Sacapuntas";
            art3.estadoArticulo    = "Bueno";
            art3.ubicacionArticulo = "Departamento";
            art3.nombCategoria     = "Administración";
            reporte.listaReporte.Add(art3);

            reporte.ShowDialog();
        }
コード例 #3
0
        protected void btnOk_Click(object sender, EventArgs e)
        {
            try
            {
                BLCatalogos oblCatalogos = new BLCatalogos();
                BLArticulo  blArtivculo  = new BLArticulo();
                BLUsuario   blUsuario    = new BLUsuario();
                Usuario     usuario      = new Usuario();
                ddlUsuarioAsignado.SelectedValue = ddlpopUser.SelectedValue;
                txtResponsiva.Enabled            = false;
                ddlUsuarioAsignado.Enabled       = false;
                usuario            = blUsuario.ObtenUsuario(Convert.ToInt32(ddlUsuarioAsignado.SelectedItem.Value));
                txtResponsiva.Text = objectResponsiva.GeneraNoResponsiva();
                txtPuesto.Text     = oblCatalogos.ObtienePuesto(usuario.idUsuario);
                List <Articulo> responsivasAnterioresList = blArtivculo.getResponsivasAnteriores(usuario.idUsuario);

                if (responsivasAnterioresList.Count > 0)
                {
                    hdnResponsivaAnterior.Value = responsivasAnterioresList[0].ResponsivaAnterior;
                }

                gvResponsivasAnteriores.DataSource = responsivasAnterioresList;
                gvResponsivasAnteriores.DataBind();
                mpeAlert.Hide();
            }
            catch (Exception ex)
            {
                CambiaEstadoNotificacion("Info", false, string.Empty);
                CambiaEstadoNotificacion("Warning", true, "Error: " + ex.Message);
                LabelError.Focus();
                mpeAlert.Hide();
            }
        }
コード例 #4
0
        protected void fnBuscaArticuloporSerie()
        {
            BLArticulo bloArticulo = new BLArticulo();

            objectArticulo = bloArticulo.BuscarArticuloPorSerie(txtParametroBusqueda.Text);
            LlenaControles();
        }
コード例 #5
0
        protected void btnProcesar_Click(object sender, EventArgs e)
        {
            BLArticulo objArt      = new BLArticulo();
            int        idItem      = 0;
            int        idUbicacion = 0;

            int.TryParse(ddlUbicaciones.SelectedValue, out idUbicacion);

            if (idUbicacion > 0)
            {
                for (int w = 0; w < grdDatos.Rows.Count; w++)
                {
                    CheckBox chkReubicar = (CheckBox)grdDatos.Rows[w].FindControl("chkReubicar");

                    if (chkReubicar.Checked)
                    {
                        int.TryParse(grdDatos.Rows[w].Cells[CeldaId].Text, out idItem);

                        if (idItem > 0)
                        {
                            objArt.ReubicarEquipos(idItem, idUbicacion);
                        }
                    }
                }

                DatosGenerales.EnviaMensaje("Proceso finalizado", "Reubicación de equipos", DatosGenerales.TiposMensaje.Informacion);
            }
        }
コード例 #6
0
        protected void Editar()
        {
            if (btnAccion.Text == "Editar")
            {
                fnActivaControles(true);
                btnAccion.Text = "Guardar";
            }
            else
            {
                btnAccion.Text = "Editar";
                fnActivaControles(false);
                string sMensaje = string.Empty;
                CargaValores();
                try
                {
                    BLArticulo oblArticulo = new BLArticulo(objectArticulo);
                    sMensaje = oblArticulo.actualizaArticulo();
                }
                catch (Exception ex)
                {
                    throw ex;
                }

                string Clientscript = "<script>alert(' " + sMensaje + "')</script>";

                if (!this.IsStartupScriptRegistered("Alertas"))
                {
                    this.RegisterStartupScript("Alertas", Clientscript);
                }
            }
        }
コード例 #7
0
        /// <summary>
        /// Método para completar los datos del formulario de acuerdo a la búsqueda realizada
        /// </summary>
        public void modificarCampos()
        {
            ManejadorArticulo manejArt = new ManejadorArticulo();
            BLArticulo        articulo = manejArt.obtenerArticuloBusqueda(idArticulo);

            txtPlaca.Text              = articulo.numeroPlaca;
            txtNombre.Text             = articulo.nombArticulo;
            txtDescripcion.Text        = articulo.descripcArticulo;
            txtCategoria.Text          = articulo.nombCategoria;
            btnBuscarPrestamos.Enabled = true;
        }
コード例 #8
0
        /// <summary>
        /// Evento para cargar los datos del artículo en el formulario
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void VerArticulo_Load(object sender, EventArgs e)
        {
            ManejadorArticulo manejArt = new ManejadorArticulo();
            BLArticulo        articulo = manejArt.obtenerArticuloCategoria(Convert.ToInt32(idArticulo));

            txtPlaca.Text       = articulo.numeroPlaca;
            txtNombre.Text      = articulo.nombArticulo;
            txtIngreso.Text     = articulo.fechaIngreso.ToString("dd/MM/yyyy");
            txtEstado.Text      = articulo.estadoArticulo;
            txtDescripcion.Text = articulo.descripcArticulo;
            txtCategoria.Text   = articulo.nombCategoria;
            txtUbicacion.Text   = articulo.ubicacionArticulo;
            chb_jps.Checked     = articulo.propiedad_JPS;
            cbPrestamo.Checked  = articulo.prestado;
        }
コード例 #9
0
        /// <summary>
        /// Evento para la creación del reporte
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnReporte_Click(object sender, EventArgs e)
        {
            ReporteArticulos reporte = new ReporteArticulos();

            for (int i = 0; i < dgvArticulos.Rows.Count; i++)
            {
                BLArticulo articulo = new BLArticulo();
                articulo.numeroPlaca       = (string)dgvArticulos.Rows[i].Cells[0].Value;
                articulo.nombArticulo      = (string)dgvArticulos.Rows[i].Cells[1].Value;
                articulo.estadoArticulo    = (string)dgvArticulos.Rows[i].Cells[4].Value;
                articulo.ubicacionArticulo = (string)dgvArticulos.Rows[i].Cells[5].Value;
                articulo.nombCategoria     = (string)dgvArticulos.Rows[i].Cells[6].Value;
                reporte.listaReporte.Add(articulo);
            }
            reporte.ShowDialog();
        }
コード例 #10
0
        protected void grvFiltroArticulos_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            List <Articulo> oFindArticulo = new List <Articulo>();
            BLArticulo      oblArticulo   = new BLArticulo();
            int             idMarca       = ddlMarca.Items.Count == 0 ? 0 : Convert.ToInt32(ddlMarca.SelectedItem.Value);

            oFindArticulo =
                oblArticulo.getFiltroArticulo
                    (Convert.ToInt32(ddlTipoArticulo.SelectedItem.Value),
                    idMarca,
                    Convert.ToInt32(dplUbicacionFiltro.SelectedItem.Value),
                    txtModelo.Text,
                    txtNoSerie.Text);

            SelectionManager.KeepSelection((GridView)sender);

            grvFiltroArticulos.DataSource = oFindArticulo;
            grvFiltroArticulos.PageIndex  = e.NewPageIndex;
            grvFiltroArticulos.DataBind();
        }
コード例 #11
0
        /// <summary>
        /// Evento para guardar un nuevo artículo
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            if (comboEstados.SelectedItem != null && comboCategoria.SelectedItem != null)
            {
                ManejadorArticulo  manejArt = new ManejadorArticulo();
                ManejadorCategoria manejCat = new ManejadorCategoria();
                int        idCateg          = manejCat.obtenerIDCategoria(comboCategoria.SelectedItem.ToString());
                BLArticulo artNuevo         = new BLArticulo(txtPlaca.Text, txtNombre.Text, Convert.ToDateTime(datePickerIngreso.Text), txtDescripcion.Text, comboEstados.SelectedItem.ToString(), txtUbicacion.Text, chb_jps.Checked, idCateg);

                if (manejArt.agregarArticulo(artNuevo))
                {
                    if (this.Owner != null)
                    {
                        this.Owner.Dispose();
                        this.Dispose();
                        MessageBox.Show("Se ha agregado el artículo");
                        new Articulos().Show();
                    }
                    else
                    {
                        this.Dispose();
                        MessageBox.Show("Se ha agregado el artículo");
                    }
                }
                else
                {
                    MessageBox.Show("No se ha podido ingresar el artículo");
                }
            }
            else
            {
                if (comboEstados.SelectedItem == null)
                {
                    MessageBox.Show("Seleccione el estado del artículo");
                }
                if (comboCategoria.SelectedItem == null)
                {
                    MessageBox.Show("Seleccione una categoría");
                }
            }
        }
コード例 #12
0
        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            BLArticulo objArt = new BLArticulo();

            lblMsj.Text         = "";
            pnlDatos.Visible    = false;
            grdDatos.DataSource = objArt.BuscarArticulosUnity(txtBuscar.Text);
            grdDatos.DataBind();

            ddlUbicaciones.SelectedIndex = -1;

            if (grdDatos.Rows.Count > 0)
            {
                grdDatos.Columns[CeldaId].Visible = false;
                pnlDatos.Visible = true;
            }
            else
            {
                lblMsj.Text = "No se encontraron resultados para el criterio ingresado";
            }
        }
コード例 #13
0
        /// <summary>
        /// Evento para buscar un artículo de acuerdo a su placa
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnBuscar_Click(object sender, EventArgs e)
        {
            ManejadorArticulo manejArt = new ManejadorArticulo();

            if (manejArt.existeArticuloPlaca(txtPlaca.Text))
            {
                BLArticulo articulo = manejArt.buscarArticuloPlaca(txtPlaca.Text);
                idArticulo                 = articulo.idArticulo;
                txtNombre.Text             = articulo.nombArticulo;
                txtDescripcion.Text        = articulo.descripcArticulo;
                txtCategoria.Text          = articulo.nombCategoria;
                btnBuscarPrestamos.Enabled = true;
            }
            else
            {
                MessageBox.Show("No existe un artículo bajo ese número de placa");
                txtPlaca.Clear();
                txtNombre.Clear();
                txtDescripcion.Clear();
                txtCategoria.Clear();
            }
        }
コード例 #14
0
        protected void imgAgregar_Click(object sender, ImageClickEventArgs e)
        {
            try
            {
                Articulo   oFindArticulo = new Articulo();
                BLArticulo oblArticulo   = new BLArticulo();
                oFindArticulo = oblArticulo.BuscarArticuloPorSerie(txtNoSerie.Text);
                List <Articulo> oFindArticuloHeader = new List <Articulo>();
                Articulo        objectArticulo      = new Articulo();
                Validacion      objValidate         = new Validacion();
                BLValidaciones  objValidaciones     = new BLValidaciones();

                objValidate = BLValidaciones.ValidaAsignacion(oFindArticulo);

                if (objValidate.validate)
                {
                    lstAgregar          = (List <Articulo>)Session["GridAdd"];
                    oFindArticuloHeader = ObtieneElementoGridSerie();
                    lstAgregar.Add(oFindArticuloHeader[0]);
                    lstAgregar.Add(oblArticulo.BuscarArticuloPorSerie(oFindArticuloHeader[0].noSerie));
                    Session["GridAdd"] = lstAgregar;
                    ActualizaGrid();
                    txtNoSerie.Text = string.Empty;
                    fnLimpiaControlDetalle();
                }
                else
                {
                    CambiaEstadoNotificacion("Info", true, objValidate.message);
                    CambiaEstadoNotificacion("Warning", false, string.Empty);
                }
            }
            catch (Exception ex)
            {
                CambiaEstadoNotificacion("Info", false, string.Empty);
                CambiaEstadoNotificacion("Warning", true, "Error: " + ex.Message);
                LabelError.Focus();
            }
        }
コード例 #15
0
        /// <summary>
        /// Método que completa los datos del formulario del artículo que se quiere modificar
        /// </summary>
        private void cargarDatosArticulo()
        {
            if (MostrarArticulos.idArt != "")
            {
                idArticulo             = MostrarArticulos.idArt;
                MostrarArticulos.idArt = "";
            }
            else
            {
                idArticulo      = Articulos.idArt;
                Articulos.idArt = "";
            }

            ManejadorArticulo manejArt = new ManejadorArticulo();
            BLArticulo        articulo = manejArt.obtenerArticulo(Convert.ToInt32(idArticulo));

            txtPlaca.Text       = articulo.numeroPlaca;
            txtNombre.Text      = articulo.nombArticulo;
            txtIngreso.Text     = articulo.fechaIngreso.ToString("dd/MM/yyyy");
            txtDescripcion.Text = articulo.descripcArticulo;
            txtUbicacion.Text   = articulo.ubicacionArticulo;
            chb_jps.Checked     = articulo.propiedad_JPS;
        }
コード例 #16
0
        protected void btnReubicar_Click(object sender, EventArgs e)
        {
            try
            {
                BLResponsiva objectResponsiva = new BLResponsiva();
                CambiaEstadoNotificacion("Info", false, string.Empty);
                CambiaEstadoNotificacion("Warning", false, string.Empty);
                string ResponsivaAnterior = string.Empty;

                string      sMensaje   = string.Empty;
                List <int?> lstUsuario = new List <int?>();
                int         cont       = 0;

                foreach (GridViewRow gr in gvwArticulos.Rows)
                {
                    CheckBox chkSeleccionado = (CheckBox)gr.Cells[0].FindControl("chkSelecciona");

                    if (chkSeleccionado.Checked)
                    {
                        cont++;
                        BLArticulo objectArticulo = new BLArticulo();
                        string     s_idImte       = gvwArticulos.DataKeys[gr.RowIndex].Values["idItem"].ToString();
                        Articulo   objArticulo    = objectArticulo.BuscaArticuloPorID(Convert.ToInt64(s_idImte));
                        ResponsivaAnterior = objArticulo.responsiva.ToString();
                        Articulo articuloHistorico = new Articulo();
                        articuloHistorico = (Articulo)objArticulo.Clone();

                        if (articuloHistorico.idUsuario != null)
                        {
                            if (!lstUsuario.Contains(objArticulo.idUsuario))
                            {
                                lstUsuario.Add(objArticulo.idUsuario);
                            }
                        }

                        objArticulo.idUbicacion     = Convert.ToInt32(ddlUbicacionDestino.SelectedValue);
                        objArticulo.idUsuario       = null;
                        objArticulo.responsiva      = 5000;
                        objArticulo.fechaMovimiento = DateTime.Now;

                        BLArticulo oblArticulo = new BLArticulo(objArticulo);
                        sMensaje = oblArticulo.actualizaArticulo();
                        articuloHistorico.IdUsuarioNuevo = null;
                        oblArticulo.InsertArticuloHistorico(articuloHistorico);

                        CambiaEstadoNotificacion("Info", true, "Los Artículos se reubicaron correctamente");
                        divResultado.Visible            = false;
                        chklstFiltros.Items[0].Selected = false;
                        chklstFiltros.Items[1].Selected = false;
                        chklstFiltros.Items[2].Selected = false;
                        chklstFiltros.Items[3].Selected = false;
                        txtNoSerie.Text = string.Empty;
                        ddlUbicacion.SelectedItem.Text    = "";
                        ddlTipoArticulo.SelectedItem.Text = "";
                        ddlUsuario.SelectedItem.Text      = "";
                    }
                }

                if (cont == 0)
                {
                    CambiaEstadoNotificacion("Warning", true, "Es necesario seleccionar al menos un elemento de la cuadrícula.");
                }
                //else
                //{


                //    foreach (int item in lstUsuario)
                //    {
                //        string NumeroResponsiva = objectResponsiva.GeneraNoResponsiva();
                //        BLArticulo objectArticulo = new BLArticulo();

                //        ArrayList Params = new ArrayList();
                //        Params.Add(string.Empty);
                //        Params.Add(string.Empty);
                //        Params.Add(item);
                //        Params.Add(0);
                //        Params.Add(0);
                //        Params.Add(0);
                //        List<Articulo> articulosAsignados = objectArticulo.BuscaArticuloFitradoA(Params);

                //        foreach (Articulo itemArticulo in articulosAsignados)
                //        {
                //            Articulo articuloHistorico = new Articulo();
                //            articuloHistorico = (Articulo)itemArticulo.Clone();

                //            itemArticulo.responsiva = Convert.ToInt32(NumeroResponsiva);

                //            BLArticulo oblArticulo = new BLArticulo(itemArticulo);
                //            sMensaje = oblArticulo.actualizaArticulo();
                //            articuloHistorico.IdUsuarioNuevo = itemArticulo.idUsuario;
                //            oblArticulo.InsertArticuloHistorico(articuloHistorico);
                //        }
                //    }
                //}
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #17
0
        protected void CargaCatalogos()
        {
            BLArticulo objArt = new BLArticulo();

            objArt.ListaUbicacionesR(ref ddlUbicaciones);
        }
コード例 #18
0
        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            string sMensaje = string.Empty;

            CargaValores();
            try
            {
                BLArticulo oblArticulo = new BLArticulo(Params);

                if (radioCon.Checked)
                {
                    Articulo arti = oblArticulo.BuscarArticuloPorSerie(Params.noSerie);

                    if (arti.idItem != 0)
                    {
                        sMensaje = "Ya Existe un articulo con este No. de serie";
                    }
                }

                if (string.IsNullOrEmpty(sMensaje))
                {
                    sMensaje = oblArticulo.insertaArticuloNuevo(chkIgnorarSerie.Checked);
                }

                if (Params.idTipoEquipo == (int)TipoEquipo.SERVIDOR || Params.idTipoEquipo == (int)TipoEquipo.CONTROLADORA || Params.idTipoEquipo == (int)TipoEquipo.STORAGE)
                {
                    string cpacidadeDiscos = string.Empty;
                    string pibe            = string.Empty;

                    //for (int i = 3; i < (Convert.ToInt32(ddlDiscosDuros.SelectedItem.Value) + 3) ; i++)
                    //{
                    //    TextBox textKey = (TextBox)tblDetalleServidor.FindControl("txtTamDisco" + i);

                    //    if (textKey != null)
                    //    {
                    //        cpacidadeDiscos += pibe + textKey.Text;
                    //    }

                    //    pibe = "|";
                    //}

                    //BLDetalleServidor blDetalle = new BLDetalleServidor();
                    //blDetalle.InsertaDetalleServidor(oblArticulo.id_Item,
                    //    Convert.ToInt32(ddlProcesadores.SelectedItem.Value),
                    //    txtTipoProcesadores.Text,
                    //    Convert.ToInt32(ddlDiscosDuros.SelectedItem.Value),
                    //    cpacidadeDiscos,
                    //    txtNombreServidor.Text,
                    //    txtDireccionIP.Text);
                }

                CambiaEstadoNotificacion("Info", true, sMensaje);
                CambiaEstadoNotificacion("Warning", false, string.Empty);
                LimpiarCampos(false);
                LabelInfo.Focus();
            }
            catch (Exception ex)
            {
                CambiaEstadoNotificacion("Info", false, string.Empty);
                CambiaEstadoNotificacion("Warning", true, "Error: " + ex.Message);
                LabelError.Focus();
            }
        }
コード例 #19
0
        protected void btnBuscarArticulo_Click(object sender, EventArgs e)
        {
            CambiaEstadoNotificacion("Info", false, string.Empty);
            CambiaEstadoNotificacion("Warning", false, string.Empty);

            List <Articulo> oFindArticulo = new List <Articulo>();
            BLArticulo      oblArticulo   = new BLArticulo();
            int             idMarca       = ddlMarca.Items.Count == 0 ? 0 : Convert.ToInt32(ddlMarca.SelectedItem.Value);

            oFindArticulo =
                oblArticulo.getFiltroArticulo
                    (Convert.ToInt32(ddlTipoArticulo.SelectedItem.Value),
                    idMarca,
                    Convert.ToInt32(dplUbicacionFiltro.SelectedItem.Value),
                    txtModelo.Text,
                    txtNoSerie.Text,
                    chkSN.Checked,
                    chkIlegible.Checked);

            // TODO: Poner Validaciones de Negocio
            // - que serie exista
            // - que serie que no exista ya asignada a esa responsiva
            // - Que no esté en una ubicación no permitida (Salida por Venta, Sotano 3, Mal estado)
            string sMensajeValidacion = string.Empty;

            //if (oFindArticulo.idItem != null && oFindArticulo.idItem != Convert.ToInt16(Constantes.CantidadElementos.Vacio))
            //{
            if (oFindArticulo.Count > 0)
            {
                grvFiltroArticulos.DataSource = oFindArticulo;
                grvFiltroArticulos.DataBind();
                mpeBusquedaArticulo.Show();
            }
            else
            {
                CambiaEstadoNotificacion("Info", true, "No se encontraron artículos con los filtro seleccionados.");
                CambiaEstadoNotificacion("Warning", false, string.Empty);
            }

            //foreach (Articulo item in oFindArticulo)
            //{
            //    Validacion val = fnValidacionSerie(item);
            //    if (val.validate)
            //    {
            //        txtidItem.Text = item.idItem.ToString();
            //        ddlTipoArticulo.SelectedValue = item.idTipoEquipo.ToString();
            //        ddlMarca.SelectedValue = item.idMarca.ToString();
            //        txtModelo.Text = item.modelo.ToString();
            //        //ddlEstado.SelectedValue = oFindArticulo.idEstado.ToString();
            //        //txtProcesador.Text = oFindArticulo.procesador.ToString();
            //        //txtMemoria.Text = oFindArticulo.ram.ToString();
            //        //ddlSistemaOperativo.SelectedValue = oFindArticulo.idSistema.ToString();
            //        //txtDiscoDuro.Text = oFindArticulo.discoDuro.ToString();
            //        //lbtnDetalle.Enabled = true;
            //        //btnAgregar.Visible = true;
            //        imgAgregar.Visible = true;
            //    }
            //    else
            //    {
            //        fnLimpiaControlDetalle();
            //        CambiaEstadoNotificacion("Info", true, val.message);
            //        CambiaEstadoNotificacion("Warning", false, string.Empty);
            //    }
            //}
            //}
            //else
            //{
            //    CambiaEstadoNotificacion("Info", true, "El No. de Serie buscando no se encuentra.");
            //    CambiaEstadoNotificacion("Warning", false, string.Empty);
            //}
        }
コード例 #20
0
        protected void btnAceptar_Click(object sender, EventArgs e)
        {
            List <int> lista      = (List <int>)HttpContext.Current.Session["idSelectedSess"];
            List <int> ListaTotal = new List <int>();

            try
            {
                foreach (GridViewRow gr in grvFiltroArticulos.Rows)
                {
                    CheckBox chkSeleccionado = (CheckBox)gr.Cells[0].FindControl("chkSelecciona");

                    if (chkSeleccionado.Checked)
                    {
                        ListaTotal.Add(Convert.ToInt32(grvFiltroArticulos.DataKeys[gr.RowIndex].Value));
                    }
                }

                if (lista != null)
                {
                    ListaTotal.AddRange(lista);
                }

                foreach (GridViewRow item in gwvArticuloAsignado.Rows)
                {
                    int idItem = Convert.ToInt32(gwvArticuloAsignado.DataKeys[item.RowIndex].Value);

                    if (ListaTotal.Contains(idItem))
                    {
                        ListaTotal.Remove(idItem);
                    }
                }

                foreach (int item in ListaTotal)
                {
                    Articulo   oFindArticulo = new Articulo();
                    BLArticulo oblArticulo   = new BLArticulo();
                    oFindArticulo = oblArticulo.BuscaArticuloPorID(item);
                    List <Articulo> oFindArticuloHeader = new List <Articulo>();

                    Articulo objectArticulo = new Articulo();

                    lstAgregar = (List <Articulo>)Session["GridAdd"];

                    if (lstAgregar != null)
                    {
                        lstAgregar.Add(oFindArticulo);
                    }
                    else
                    {
                        lstAgregar = new List <Articulo>();
                        lstAgregar.Add(oFindArticulo);
                    }

                    Session["GridAdd"] = lstAgregar;
                }

                ActualizaGrid();
                fnLimpiaControlDetalle();

                mpeBusquedaArticulo.Hide();
                HttpContext.Current.Session["idSelectedSess"] = null;
            }
            catch (Exception ex)
            {
                CambiaEstadoNotificacion("Info", false, string.Empty);
                CambiaEstadoNotificacion("Warning", true, "Error: " + ex.Message);
                LabelError.Focus();
                mpeBusquedaArticulo.Hide();
                HttpContext.Current.Session["idSelectedSess"] = null;
            }
        }