private void btnGrabar_Click(object sender, EventArgs e)
        {
            try
            {
                Cursor = Cursors.WaitCursor;
                if (!ValidarIngreso())
                {
                    TemaBL objBL_Tema = new TemaBL();
                    TemaBE objTema    = new TemaBE();

                    objTema.IdEmpresa          = Parametros.intEmpresaId;
                    objTema.IdTema             = IdTema;
                    objTema.Periodo            = Convert.ToInt32(txtPeriodo.EditValue);
                    objTema.IdCategoriaTema    = Convert.ToInt32(cboCategoriaTema.EditValue);
                    objTema.IdTipoTema         = Parametros.intTEMAVirtual;
                    objTema.Objetivo           = txtObjetivo.Text;
                    objTema.DescTema           = txtDescripcion.Text;
                    objTema.FechaIni           = Convert.ToDateTime(deFechaIni.DateTime.ToShortDateString());
                    objTema.FechaFin           = Convert.ToDateTime(deFechaFin.DateTime.ToShortDateString());
                    objTema.Horas              = Convert.ToInt32(txtHoras.EditValue);
                    objTema.Logo               = new FuncionBase().Image2Bytes(this.picImage.Image);
                    objTema.Firma1             = new FuncionBase().Image2Bytes(this.picFirma.Image);
                    objTema.Firma2             = new FuncionBase().Image2Bytes(this.picFirma2.Image);
                    objTema.Responsable        = txtResponsable.Text;
                    objTema.ResponsableCargo   = txtResponsableCargo.Text;
                    objTema.ResponsableEmpresa = txtResponsableEmpresa.Text;
                    objTema.IdTipoCapacitacion = Convert.ToInt32(cboTipoCapacitacion.EditValue);
                    objTema.IdSituacion        = IdSituacion;
                    objTema.FlagEstado         = true;
                    objTema.Usuario            = Parametros.strUsuarioLogin;
                    objTema.Maquina            = WindowsIdentity.GetCurrent().Name.ToString();


                    List <TemaDetalleBE> lstTemaDetalle = new List <TemaDetalleBE>();

                    foreach (var item in mListaTemaDetalleOrigen)
                    {
                        TemaDetalleBE objE_TemaDetalle = new TemaDetalleBE();
                        objE_TemaDetalle.IdEmpresa     = item.IdEmpresa;
                        objE_TemaDetalle.IdTemaDetalle = item.IdTemaDetalle;
                        objE_TemaDetalle.IdTema        = item.IdTema;
                        objE_TemaDetalle.Archivo       = item.Archivo;
                        objE_TemaDetalle.NombreArchivo = item.NombreArchivo;
                        objE_TemaDetalle.Extension     = item.Extension;
                        objE_TemaDetalle.Descripcion   = item.Descripcion;
                        objE_TemaDetalle.TipoOper      = item.TipoOper;
                        objE_TemaDetalle.FlagEstado    = true;
                        objE_TemaDetalle.Usuario       = Parametros.strUsuarioLogin;
                        objE_TemaDetalle.Maquina       = WindowsIdentity.GetCurrent().Name.ToString();
                        objE_TemaDetalle.TipoOper      = item.TipoOper;
                        lstTemaDetalle.Add(objE_TemaDetalle);
                    }

                    if (pOperacion == Operacion.Nuevo)
                    {
                        objBL_Tema.Inserta(objTema, lstTemaDetalle);
                    }
                    else
                    {
                        objBL_Tema.Actualiza(objTema, lstTemaDetalle);
                    }

                    this.Close();
                }
            }
            catch (Exception ex)
            {
                Cursor = Cursors.Default;
                XtraMessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }