public void LlenarDatosLaptop()
        {
            txtMarca.Text                = laptop.MarcaLC;
            txtModelo.Text               = laptop.NombreModeloLC;
            txtPantalla.Text             = (laptop.TamanoPantalla != 0) ? laptop.TamanoPantalla.ToString() : "";
            txtProcesador.Text           = laptop.TipoProcesador;
            txtProcesadorGeneracion.Text = (laptop.GeneracionProcesador != 0) ? laptop.GeneracionProcesador.ToString() : "";
            txtVideo.Text                = laptop.NombreModeloVideo;
            txtVideoCapacidad.Text       = (laptop.CapacidadVideo != 0) ? laptop.CapacidadVideo.ToString() : "";

            tablaDisco    = laptopDA.ListarLaptopDisco(laptop.IdLC);
            tablaMemoria  = laptopDA.ListarLaptopMemoria(laptop.IdLC);
            tablaLicencia = laptopDA.ListarLaptopLicencia(laptop.IdLC);

            laptop.SetDisco(tablaDisco);
            laptop.SetMemoria(tablaMemoria);
            laptop.SetLicencia(tablaLicencia);

            dgvMemorias.PrimaryGrid.DataSource = tablaMemoria;
            dgvDisco.PrimaryGrid.DataSource    = tablaDisco;
            dgvLicencia.PrimaryGrid.DataSource = tablaLicencia;
        }
        public bool cargarDataTabla()
        {
            try
            {
                reporteDA                   = new ReporteDA();
                tablaLaptops                = reporteDA.ListarLaptopsInventario();
                tablaProcesadoresModelos    = reporteDA.tablaProcesadoresModelos(idCategoriaProcesador);
                tablaProcesadoresGeneracion = reporteDA.tablaProcesadoresGeneracion(codTablaProcesadorGeneracion);

                laptops       = new BindingList <LC>();
                tablaDisco    = reporteDA.ListarLaptopDisco();
                tablaMemoria  = reporteDA.ListarLaptopMemoria();
                tablaLicencia = reporteDA.ListarLaptopLicencia();
                DataView viewDisco    = new DataView(tablaDisco);
                DataView viewMemoria  = new DataView(tablaMemoria);
                DataView viewLicencia = new DataView(tablaLicencia);
                int      rec          = 0;
                while (rec < tablaLaptops.Rows.Count)
                {
                    LC laptop = new LC();
                    laptop.IdLC                   = Convert.ToInt32(tablaLaptops.Rows[rec]["idLC"].ToString());
                    laptop.Codigo                 = tablaLaptops.Rows[rec]["codigo"].ToString();
                    laptop.IdMarca                = int.Parse(tablaLaptops.Rows[rec]["idMarca"].ToString());
                    laptop.MarcaLC                = tablaLaptops.Rows[rec]["marcaLC"].ToString();
                    laptop.NombreModeloLC         = tablaLaptops.Rows[rec]["nombreModeloLC"].ToString();
                    laptop.TipoProcesador         = tablaLaptops.Rows[rec]["tipoProcesador"].ToString();
                    laptop.IdGeneracionProcesador = int.Parse(tablaLaptops.Rows[rec]["idGeneracionProcesador"].ToString());
                    laptop.GeneracionProcesador   = int.Parse(tablaLaptops.Rows[rec]["generacionProcesador"].ToString());
                    laptop.IdTipoProcesador       = int.Parse(tablaLaptops.Rows[rec]["idTipoProcesador"].ToString());
                    laptop.NombreModeloVideo      = tablaLaptops.Rows[rec]["nombreModeloVideo"].ToString().Length > 0 ? tablaLaptops.Rows[rec]["nombreModeloVideo"].ToString() : "";
                    laptop.CapacidadVideo         = Convert.ToInt32(tablaLaptops.Rows[rec]["capacidadVideo"].ToString());
                    laptop.EstadoNombre           = tablaLaptops.Rows[rec]["estado"].ToString();
                    laptop.Estado                 = int.Parse(tablaLaptops.Rows[rec]["idEstado"].ToString());
                    laptop.Cliente                = tablaLaptops.Rows[rec]["cliente"].ToString();
                    laptop.Ubicacion              = tablaLaptops.Rows[rec]["ubicacion"].ToString();
                    laptop.SerieFabrica           = tablaLaptops.Rows[rec]["serieFabrica"].ToString();

                    viewDisco.RowFilter    = "idLC = " + laptop.IdLC.ToString();
                    viewMemoria.RowFilter  = "idLC = " + laptop.IdLC.ToString();
                    viewLicencia.RowFilter = "idLC = " + laptop.IdLC.ToString();
                    laptop.SetDisco(viewDisco);
                    laptop.SetMemoria(viewMemoria);
                    laptop.SetLicencia(viewLicencia);

                    if (laptop.Discos.Count > 0)
                    {
                        if (laptop.Discos.Count == 1)
                        {
                            laptop.Disco1          = laptop.Discos[0].TipoDisco;
                            laptop.CapacidadDisco1 = (laptop.Discos[0].Cantidad * laptop.Discos[0].Capacidad).ToString() + " GB";
                            laptop.Disco2          = "";
                            laptop.CapacidadDisco2 = "";
                        }
                        else if (laptop.Discos.Count >= 2)
                        {
                            laptop.Disco1          = laptop.Discos[0].TipoDisco;
                            laptop.CapacidadDisco1 = (laptop.Discos[0].Cantidad * laptop.Discos[0].Capacidad).ToString() + " GB";

                            laptop.Disco2          = laptop.Discos[1].TipoDisco;
                            laptop.CapacidadDisco2 = (laptop.Discos[1].Cantidad * laptop.Discos[1].Capacidad).ToString() + " GB";
                        }
                    }
                    else if (laptop.Discos.Count == 0)
                    {
                        laptop.Disco1          = "";
                        laptop.CapacidadDisco1 = "";
                        laptop.Disco2          = "";
                        laptop.CapacidadDisco2 = "";
                    }

                    int capacidadMem = 0;
                    foreach (Memoria mem in laptop.Memorias)
                    {
                        capacidadMem += mem.Capacidad * mem.Cantidad;
                    }
                    laptop.CapacidadMemoria = capacidadMem.ToString() + " GB";

                    Licencia windows = null; Licencia office = null; Licencia antivirus = null;

                    if (laptop.Licencias.Count > 0)
                    {
                        windows   = laptop.Licencias.SingleOrDefault(p => p.Categoria == this.licenciaCategoriaSO);
                        office    = laptop.Licencias.SingleOrDefault(p => p.Categoria == this.licenciaCategoriaOffice);
                        antivirus = laptop.Licencias.SingleOrDefault(p => p.Categoria == this.licenciaCategoriaAntivirus);
                    }

                    laptop.LicenciaWindows   = (windows != null) ? windows.Version : "";
                    laptop.LicenciaOffice    = (office != null) ? office.Version : "";
                    laptop.LicenciaAntivirus = (antivirus != null) ? antivirus.Version : "";

                    laptop.Licencias = null;
                    laptop.Discos    = null;
                    laptop.Memorias  = null;

                    laptop.IdSalida = tablaLaptops.Rows[rec]["idSalida"].ToString();

                    laptops.Add(laptop);
                    rec++;
                }

                this.cantGeneraciones     = tablaProcesadoresGeneracion.Rows.Count;
                this.cantModeloProcesador = tablaProcesadoresModelos.Rows.Count;

                this.arregloLCGeneral = new int[cantGeneraciones][];
                this.arregloLCApple   = new int[cantGeneraciones][];

                for (int i = 0; i < this.cantGeneraciones; i++)
                {
                    this.arregloLCGeneral[i] = new int[this.cantModeloProcesador];
                    this.arregloLCApple[i]   = new int[this.cantModeloProcesador];

                    for (int j = 0; j < this.cantModeloProcesador; j++)
                    {
                        int idGen    = int.Parse(tablaProcesadoresGeneracion.Rows[i]["idAuxiliar"].ToString());
                        int idModPro = int.Parse(tablaProcesadoresModelos.Rows[j]["idModelo"].ToString());
                        var cantidad = new BindingList <LC>(laptops.Where(p => p.IdMarca != this.idMarcaAppleLC && p.IdGeneracionProcesador == idGen && p.IdTipoProcesador == idModPro && p.IdMarca != this.idMarcaApplePC && p.Estado == this.estadoDisponible).ToList());
                        this.arregloLCGeneral[i][j] = cantidad.Count;
                        cantidad = new BindingList <LC>(laptops.Where(p => p.IdMarca == this.idMarcaAppleLC && p.IdGeneracionProcesador == idGen && p.IdTipoProcesador == idModPro && p.IdMarca != this.idMarcaApplePC && p.Estado == this.estadoDisponible).ToList());
                        this.arregloLCApple[i][j] = cantidad.Count;
                    }
                }


                dgvLaptops.DataSource = laptops;
                vista.OptionsBehavior.AutoPopulateColumns = false;
                vista.OptionsSelection.MultiSelect        = true;
            }
            catch (Exception e)
            {
                //MessageBox.Show(e.Message); OMITIMOS EL MENSAJE
            }


            return(true);
        }