private void CargaTemaDetalle()
        {
            List <TemaDetalleBE> lstTmpTemaDetalle = null;

            lstTmpTemaDetalle = new TemaDetalleBL().ListaTodosActivo(intIdTema);

            foreach (TemaDetalleBE item in lstTmpTemaDetalle)
            {
                TemaDetallePersonaBE objE_TemaDetallePersona  = new TemaDetallePersonaBE();
                TemaDetallePersonaBL objBL_TemaDetallePersona = new TemaDetallePersonaBL();

                objE_TemaDetallePersona.IdEmpresa            = item.IdEmpresa;
                objE_TemaDetallePersona.IdTemaDetallePersona = 0;
                objE_TemaDetallePersona.IdTema    = item.IdTema;
                objE_TemaDetallePersona.IdPersona = Parametros.intPersonaId;
                if (item.Extension == ".xlsx")
                {
                    objE_TemaDetallePersona.Image = new FuncionBase().Image2Bytes(SSOMA.Presentacion.Properties.Resources.MSExcel_48x48);
                }
                if (item.Extension == ".pptx" || item.Extension == ".ppsx")
                {
                    objE_TemaDetallePersona.Image = new FuncionBase().Image2Bytes(SSOMA.Presentacion.Properties.Resources.MSPowerPoint_48x48);
                }
                if (item.Extension == ".docx")
                {
                    objE_TemaDetallePersona.Image = new FuncionBase().Image2Bytes(SSOMA.Presentacion.Properties.Resources.MSWord_48x48);
                }
                if (item.Extension == ".pdf")
                {
                    objE_TemaDetallePersona.Image = new FuncionBase().Image2Bytes(SSOMA.Presentacion.Properties.Resources.Pdf_48x48);
                }
                if (item.Extension == ".mp4")
                {
                    objE_TemaDetallePersona.Image = new FuncionBase().Image2Bytes(SSOMA.Presentacion.Properties.Resources.Video_48x48);
                }
                objE_TemaDetallePersona.Archivo        = item.Archivo;
                objE_TemaDetallePersona.NombreArchivo  = item.NombreArchivo;
                objE_TemaDetallePersona.Extension      = item.Extension;
                objE_TemaDetallePersona.Descripcion    = item.Descripcion;
                objE_TemaDetallePersona.DescSituacion  = "NO VISTO";
                objE_TemaDetallePersona.ImageSituacion = new FuncionBase().Image2Bytes(SSOMA.Presentacion.Properties.Resources.NoVisto);
                objE_TemaDetallePersona.FlagEstado     = true;

                objBL_TemaDetallePersona.Inserta(objE_TemaDetallePersona);
            }

            mListaTemaDetallePersona = new TemaDetallePersonaBL().ListaTodosActivo(intIdTema, Parametros.intPersonaId);

            bsListadoTemaDetalle.DataSource = mListaTemaDetallePersona;
            gcTemaDetallePersona.DataSource = bsListadoTemaDetalle;
            gcTemaDetallePersona.RefreshDataSource();
        }
        private void gvTemaDetalle_DoubleClick(object sender, EventArgs e)
        {
            try
            {
                if (gvTemaDetallePersona.RowCount > 0)
                {
                    int    intIdTemaDetallePersona = (int)gvTemaDetallePersona.GetFocusedRowCellValue("IdTemaDetallePersona");
                    string strNombreArchivo        = (string)gvTemaDetallePersona.GetFocusedRowCellValue("NombreArchivo");
                    byte[] Buffer = (byte[])gvTemaDetallePersona.GetFocusedRowCellValue("Archivo");

                    TemaDetallePersonaBE objE_TemaDetallePersona  = new TemaDetallePersonaBE();
                    TemaDetallePersonaBL objBL_TemaDetallePersona = new TemaDetallePersonaBL();

                    objE_TemaDetallePersona.IdTemaDetallePersona = intIdTemaDetallePersona;
                    objE_TemaDetallePersona.DescSituacion        = "VISTO";
                    objE_TemaDetallePersona.ImageSituacion       = new FuncionBase().Image2Bytes(SSOMA.Presentacion.Properties.Resources.Visto);

                    objBL_TemaDetallePersona.ActualizaSituacion(objE_TemaDetallePersona);

                    string strPath         = AppDomain.CurrentDomain.BaseDirectory;
                    string strFolder       = strPath + "temp\\";
                    string strFullFilePath = strFolder + strNombreArchivo;

                    if (!Directory.Exists(strFolder))
                    {
                        Directory.CreateDirectory(strFolder);
                    }

                    //ELIMINAMOS LOR ARCHIVOS CREADOS
                    foreach (var item in Directory.GetFiles(strFolder, "*.*"))
                    {
                        File.SetAttributes(item, FileAttributes.Normal);
                        File.Delete(item);
                    }

                    File.WriteAllBytes(strFullFilePath, Buffer);

                    Process.Start(strFullFilePath);

                    mListaTemaDetallePersona        = new TemaDetallePersonaBL().ListaTodosActivo(intIdTema, Parametros.intPersonaId);
                    bsListadoTemaDetalle.DataSource = mListaTemaDetallePersona;
                    gcTemaDetallePersona.DataSource = bsListadoTemaDetalle;
                    gcTemaDetallePersona.RefreshDataSource();
                }
            }
            catch (Exception ex)
            {
                Cursor = Cursors.Default;
                XtraMessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }