public static int grabar(Models.Asunto DatosGenerales, List <Models.AsuntoRecursos> Integrantes)
    {
        // Grabar datos
        BLL.Asunto AsuntoBLL = new BLL.Asunto();
        int        idReferencia;
        bool       bAlta;

        try
        {
            if (DatosGenerales.T382_idasunto == -1)
            {
                bAlta = true;
            }
            else
            {
                bAlta = false;
            }
            idReferencia = AsuntoBLL.grabar(DatosGenerales, Integrantes);
        }
        catch (Exception ex)
        {
            LogError.LogearError("Error al grabar los datos del asunto.", ex);
            throw new Exception(System.Uri.EscapeDataString("Error al grabar los datos del asunto. " + ex.Message));
        }
        finally
        {
            AsuntoBLL.Dispose();
        }
        // Envío de Correos
        BLL.Asunto CorreoAsuntoBLL = new BLL.Asunto();
        try
        {
            DatosGenerales.T382_idasunto = idReferencia;
            CorreoAsuntoBLL.EnviarCorreo(DatosGenerales, Integrantes, bAlta);
        }
        catch (Exception ex)
        {
            LogError.LogearError("Error al enviar correo de asunto de Bitácora de PE. Asunto=" + idReferencia, ex);
            throw new Exception(System.Uri.EscapeDataString("Error al enviar correo de asunto de Bitácora de PE. Asunto=" + idReferencia + " " + ex.Message));
        }
        finally
        {
            CorreoAsuntoBLL.Dispose();
        }
        return(idReferencia);
    }
 public static Models.Asunto obtenerDetalleAsunto(string idAsunto)
 {
     BLL.Asunto    asuntoPEBitacoraBLL = new BLL.Asunto();
     Models.Asunto oAsuntoPEBitacora;
     try
     {
         oAsuntoPEBitacora = asuntoPEBitacoraBLL.Select(Int32.Parse(idAsunto));
         return(oAsuntoPEBitacora);
     }
     catch (Exception ex)
     {
         LogError.LogearError("No se ha podido obtener el detalle del asunto (" + idAsunto + ").", ex);
         throw new Exception(System.Uri.EscapeDataString("No se ha podido obtener el detalle del asunto (" + idAsunto + ")." + ex.Message));
     }
     finally
     {
         asuntoPEBitacoraBLL.Dispose();
     }
 }