示例#1
0
    protected void CargarDatos(int foliominuta)
    {
        MinutasBL bl  = new MinutasBL();
        Minutas   min = new Minutas()
        {
            ObjUsuarios = new UsuariosDatos()
            {
                User = new Usuarios()
            }
        };

        min.IdSesion = foliominuta;
        min.ObjUsuarios.User.IdUser = Convert.ToInt32(Session["IdUser"]);
        min = bl.GetMinutasbyFolio(min);
        if (min.IdSesion > 0)
        {
            idusuariosesion     = min.ObjUsuarios.User.IdUser;
            lblobjetivos.Text   = HttpUtility.HtmlDecode(min.Objetivo);
            lbldescripcion.Text = HttpUtility.HtmlDecode(min.Descripcion);
            txtfoliominuta.Text = string.Format("{0:D8}", foliominuta);
            txtfoliominuta.Text.Trim();
            txtfechacierre.Text = min.Fechafin.ToString();
            txttiposesion.Text  = min.ObjTipoSesion.TipoSesion;
            LoadUsuariosSesion(foliominuta);
            LoadStatus();
        }
        else
        {
            ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "bootbox.alert('<div class=\" alert alert-warning\">El folio ingresado no es válido</div>')", true);
        }
    }
示例#2
0
 protected void gdvAcuerdo_RowDeleting(object sender, GridViewDeleteEventArgs e)
 {
     try
     {
         GridView        gdvAcuerdo = (GridView)sender;
         int             id         = Convert.ToInt32(gdvAcuerdo.DataKeys[e.RowIndex]["IdAcuerdo"]);
         int             iduser     = Convert.ToInt32(gdvAcuerdo.DataKeys[e.RowIndex]["IdUserMinuta"]);
         MinutasBL       bl         = new MinutasBL();
         MinutasAcuerdos usm        = new MinutasAcuerdos()
         {
             ObjUserSesion = new UsuariosDatos()
             {
                 User = new Usuarios()
             }
         };
         usm.ObjUserSesion.User.IdUser = Convert.ToInt32(Session["IdUser"]);
         usm.IdAcuerdo = id;
         bl.DelAcuerdo(usm);
         LoadAcuerdos(gdvAcuerdo, iduser);
     }
     catch (Exception ex)
     {
         ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "bootbox.alert('Proceso Interrumpido ! " + ex.Message.Replace("'", "") + "');", true);
     }
 }
示例#3
0
 protected void LoadGridMinutas()
 {
     mbl = new MinutasBL();
     gdvMinutas.DataSource = mbl.GetMinutas(FiltroMinutas());
     gdvMinutas.PageIndex  = npageMinuta;
     gdvMinutas.DataBind();
 }
示例#4
0
    protected void gdvMinutas_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName.Equals("CancelarMinuta"))
        {
            try
            {
                int rowindex = Convert.ToInt32(e.CommandArgument);
                int idsesion = Convert.ToInt32(gdvMinutas.DataKeys[rowindex].Value);

                min = new Minutas()
                {
                    ObjUsuarios = new UsuariosDatos()
                    {
                        User = new Usuarios()
                    }
                };
                min.IdSesion = idsesion;
                min.ObjUsuarios.User.IdUser = Convert.ToInt32(Session["IdUser"]);
                mbl = new MinutasBL();
                mbl.CancelarSesion(min);
                LoadGridMinutas();
            }
            catch (Exception ex)
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "bootbox.alert('<div class=\"alert alert-danger\">Proceso interrumpido! " + ex.Message.Replace("'", "") + "</div>');", true);
            }
        }
    }
示例#5
0
 protected void ltvAcuerdos_ItemCommand(object sender, ListViewCommandEventArgs e)
 {
     try
     {
         ListView ltvAcuerdos = (ListView)sender;
         int      rowindex    = Convert.ToInt32(e.CommandArgument);
         int      idacuerdo   = Convert.ToInt32(ltvAcuerdos.DataKeys[rowindex].Values[0]);
         int      idusuario   = Convert.ToInt32(ltvAcuerdos.DataKeys[rowindex].Values[1]);
         if (e.CommandName == "IniciarAcuerdo")
         {
             MinutasAcuerdos mina = new MinutasAcuerdos()
             {
                 ObjUserSesion = new UsuariosDatos()
                 {
                     User = new Usuarios()
                 }
             };
             mina.IdAcuerdo    = idacuerdo;
             mina.IdUserMinuta = idusuario;
             MinutasBL mbl = new MinutasBL();
             mbl.IniciarAcuerdo(mina);
             LoadAcuerdos(ltvAcuerdos, idusuario);
         }
         if (e.CommandName == "ActualizarStatus")
         {
             hdacuerdo_status.Value = idacuerdo.ToString();
             ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "$('#modalstatus').modal('show')", true);
         }
     }
     catch (Exception ex)
     {
         ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "bootbox.alert('<div class=\"alert alert-danger\">Proceso interrumpido! " + ex.Message.Replace("'", "") + "</div>');", true);
     }
 }
示例#6
0
    protected void btnExportar_Click(object sender, EventArgs e)
    {
        DateTime Hoy          = DateTime.Today;
        string   fecha_actual = Hoy.ToString("ddMMyyyy");

        mbl = new MinutasBL();
        gdvExportarHistorial.DataSource = mbl.GetMinutas(FiltroMinutas());
        gdvExportarHistorial.DataBind();
        Exportar(gdvExportarHistorial, "Historialminutas_" + fecha_actual);
    }
示例#7
0
    protected void LoadAcuerdos(ListView gdv, int iduser = 0)
    {
        MinutasBL       bl  = new MinutasBL();
        MinutasAcuerdos min = new MinutasAcuerdos()
        {
            ObjMinutas = new Minutas(), ObjTipoacuerdo = new CatTipoAcuerdo(), ObjUserSesion = new UsuariosDatos()
        };

        min.ObjMinutas.IdSesion        = idsesion;
        min.ObjUserSesion.IdUserSesion = Convert.ToInt32(Session["IdUser"]);
        min.IdAcuerdo = 0;
        min.ObjUserSesion.IdUserMostrar = iduser;
        gdv.DataSource = bl.GetAcuerdos(min);
        gdv.DataBind();
    }
示例#8
0
    protected void LoadUsuariosSesion(int idminuta = 0)
    {
        MinutasUsuarios mu = new MinutasUsuarios()
        {
            ObjMinutas = new Minutas(), ObjUsuarios = new UsuariosDatos()
            {
                User = new Usuarios()
            }
        };

        mu.ObjMinutas.IdSesion     = idminuta;
        mu.ObjUsuarios.User.IdUser = Convert.ToInt32(Session["IdUser"]);
        MinutasBL blmu = new MinutasBL();

        ltvUsuariosSesion.DataSource = blmu.GetUsuariosSesion(mu);
        ltvUsuariosSesion.DataBind();
    }
示例#9
0
    protected void btnGuardarAcuerdo_Click(object sender, EventArgs e)
    {
        var arrayServicios = new DataTable();

        arrayServicios.Columns.Add("idsesion", typeof(int));
        arrayServicios.Columns.Add("fechaini", typeof(DateTime));
        arrayServicios.Columns.Add("fechafin", typeof(DateTime));
        arrayServicios.Columns.Add("idstatus", typeof(int));
        arrayServicios.Columns.Add("descripcion", typeof(string));
        arrayServicios.Columns.Add("idusuario", typeof(int));
        arrayServicios.Columns.Add("idtipoacuerdo", typeof(int));

        int      idsesion      = Convert.ToInt32(hd_idsesion.Value);
        DateTime fechaini      = Convert.ToDateTime(txtfechai_b.Text);
        DateTime fechafin      = Convert.ToDateTime(txtfechaf_b.Text);
        string   descripcion   = txtdescripcionacuerdo.Text;
        int      idstatus      = 3; // status en seguimiento
        int      idtipoacuerdo = 1; //acuerdo tipo individual

        int cont = 0;

        foreach (GridViewRow row in gdvParticipantes.Rows)
        {
            CheckBox check = row.FindControl("chksel") as CheckBox;
            if (check.Checked)
            {
                cont++;
                int idusuarioacuerdo = Convert.ToInt32(gdvParticipantes.DataKeys[row.RowIndex].Values[1]);
                arrayServicios.Rows.Add(idsesion, fechaini, fechafin, idstatus, descripcion, idusuarioacuerdo, idtipoacuerdo);
            }
        }

        if (cont > 0)
        {
            MinutasBL       bl  = new MinutasBL();
            MinutasAcuerdos ent = new MinutasAcuerdos();
            ent.ArrayAcuerdos = arrayServicios;
            bl.InsAcuerdos(ent);
            LoadGridParticipantes();
            limpiarFormAcuerdos();
        }
        else
        {
            ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "bootbox.alert('<div class=\" alert alert-warning\">Para agregar el Acuerdo tiene que seleccionar al menos un participante de la lista</div>')", true);
        }
    }
示例#10
0
    protected void btnaddParticipante_Click(object sender, EventArgs e)
    {
        MinutasBL       bl  = new MinutasBL();
        MinutasUsuarios usm = new MinutasUsuarios()
        {
            ObjMinutas = new Minutas(), ObjUsuarios = new UsuariosDatos()
            {
                User = new Usuarios()
            }
        };

        usm.ObjMinutas.IdSesion     = Convert.ToInt32(hd_idsesion.Value);
        usm.ObjUsuarios.User.IdUser = Convert.ToInt32(ddlparticipantes.SelectedValue);

        bl.InsUsuariosbyMinuta(usm);
        ddlparticipantes.ClearSelection();
        ddlparticipantes.SelectedIndex = 0;
        LoadGridParticipantes();
    }
示例#11
0
    protected void LoadComentarios(ListView gdv, int idacuerdo = 0)
    {
        MinutasBL          bl = new MinutasBL();
        MinutasComentarios mc = new MinutasComentarios()
        {
            ObjMinutas = new Minutas()
            {
                ObjStatus = new CatStatus()
            }
            , ObjMinutaAcuerdo = new MinutasAcuerdos(),
            ObjUsercoment      = new Usuarios(),
            ObjUserDatos       = new UsuariosDatos(),
            ObjStatuscoment    = new CatStatus()
        };

        mc.ObjMinutaAcuerdo.IdAcuerdo = idacuerdo;
        mc.ObjUsercoment.IdUser       = 0;
        mc.Idcomentario = 0;
        gdv.DataSource  = bl.GetComentariosAcuerdos(mc);
        gdv.DataBind();
    }
示例#12
0
 protected void gdvParticipantes_RowDeleting(object sender, GridViewDeleteEventArgs e)
 {
     try
     {
         int             id  = Convert.ToInt32(gdvParticipantes.DataKeys[e.RowIndex]["IdSesionUser"]);
         MinutasBL       bl  = new MinutasBL();
         MinutasUsuarios usm = new MinutasUsuarios()
         {
             ObjUsuarios = new UsuariosDatos()
             {
                 User = new Usuarios()
             }
         };
         usm.ObjUsuarios.User.IdUser = Convert.ToInt32(Session["IdUser"]);
         usm.IdSesionUser            = id;
         bl.DelUsuarioMinuta(usm);
         LoadGridParticipantes();
     }
     catch (Exception ex)
     {
         ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "bootbox.alert('Proceso Interrumpido ! " + ex.Message.Replace("'", "") + "');", true);
     }
 }
示例#13
0
    protected void LoadGridParticipantes()
    {
        try
        {
            MinutasBL bl = new MinutasBL();

            MinutasUsuarios usm = new MinutasUsuarios()
            {
                ObjMinutas = new Minutas(), ObjUsuarios = new UsuariosDatos()
                {
                    User = new Usuarios()
                }
            };
            usm.ObjMinutas.IdSesion     = Convert.ToInt32(hd_idsesion.Value);
            usm.ObjUsuarios.User.IdUser = Convert.ToInt32(Session["IdUser"]);
            gdvParticipantes.DataSource = bl.GetUsuariosSesion(usm);
            gdvParticipantes.DataBind();
        }
        catch (Exception ex)
        {
            ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "bootbox.alert('<div class=\"alert alert-danger\">Proceso interrumpido! " + ex.Message.Replace("'", "") + "</div>');", true);
        }
    }
示例#14
0
    protected void btnGuardarSesion_Click(object sender, EventArgs e)
    {
        try
        {
            Minutas ent = new Minutas()
            {
                ObjTemas = new CatTemas(), ObjUsuarios = new UsuariosDatos()
                {
                    User = new Usuarios()
                }, ObjTipoSesion = new CatTipoSesion()
            };
            MinutasBL bl = new MinutasBL();
            ent.ObjTemas.idtema         = Convert.ToInt32(ddltema.SelectedValue);
            ent.Objetivo                = txtobservaciones.InnerHtml;
            ent.Descripcion             = txtdescripcion.InnerHtml;
            ent.Fechafin                = Convert.ToDateTime(txtfechacierre.Text);
            ent.ObjUsuarios.User.IdUser = Convert.ToInt32(Session["IdUser"].ToString());
            ent.ObjTipoSesion.IdTipo    = Convert.ToInt32(ddltiposesion.SelectedValue);
            ent.IdSesion                = (string.IsNullOrEmpty(hd_idsesion.Value) ? 0 : Convert.ToInt32(hd_idsesion.Value));
            idsesion          = bl.InsMinuta(ent);
            hd_idsesion.Value = idsesion.ToString();

            if (ent.IdSesion > 0)
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "bootbox.alert('<div class=\" alert alert-success\">Datos Actualizados con éxito</div>')", true);
            }
            else
            {
                LoadParticipantes();
                ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "bootbox.alert('<div class=\" alert alert-success\">Sesión Guardada. Agregue a los participantes de la sesión</div>')", true);
            }
        }
        catch (Exception ex)
        {
            ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "bootbox.alert('<div class=\"alert alert-danger\">Proceso interrumpido! " + ex.Message.Replace("'", "") + "</div>');", true);
        }
    }
示例#15
0
    protected void btnguardarcomentario_Click(object sender, EventArgs e)
    {
        MinutasComentarios mc = new MinutasComentarios()
        {
            ObjUsercoment = new Usuarios(), ObjMinutaAcuerdo = new MinutasAcuerdos()
        };
        MinutasBL bl = new MinutasBL();

        try
        {
            mc.ObjMinutaAcuerdo.IdAcuerdo = Convert.ToInt32(hd_idacuerdo.Value);
            mc.ObjUsercoment.IdUser       = Convert.ToInt32(Session["IdUser"]);
            mc.Comentarios = txtcomentario_acuerdo.Text.Trim();
            bl.InsComentarios(mc);
            LoadUsuariosSesion(Convert.ToInt32(txtfoliominuta.Text));
            txtcomentario_acuerdo.Text = "";
            hd_idacuerdo.Value         = "";
            ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "$('#modalComentarios').modal('hide')", true);
        }
        catch (Exception ex)
        {
            ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "bootbox.alert('<div class=\"alert alert-danger\">Proceso interrumpido! " + ex.Message.Replace("'", "") + "</div>');", true);
        }
    }
示例#16
0
 protected void btnActualizarStatus_Click(object sender, EventArgs e)
 {
     try
     {
         MinutasAcuerdos min = new MinutasAcuerdos()
         {
             ObjStatus = new CatStatus(), ObjUserSesion = new UsuariosDatos()
             {
                 User = new Usuarios()
             }
         };
         min.IdAcuerdo                 = Convert.ToInt32(hdacuerdo_status.Value);
         min.ObjStatus.idstatus        = Convert.ToInt32(ddlstatuscambia.SelectedValue);
         min.ObjUserSesion.User.IdUser = Convert.ToInt32(Session["IdUser"]);
         MinutasBL bl = new MinutasBL();
         bl.UpdEstatusAcuerdo(min);
         LoadUsuariosSesion(Convert.ToInt32(txtfoliominuta.Text));
         ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "$('#modalstatus').modal('hide')", true);
     }
     catch (Exception ex)
     {
         ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "bootbox.alert('<div class=\"alert alert-danger\">Proceso interrumpido! " + ex.Message.Replace("'", "") + "</div>');", true);
     }
 }
示例#17
0
    protected void MailTemplate()
    {
        try
        {
            if (gdvParticipantes.Rows.Count > 0)
            {
                StringBuilder    sb  = new StringBuilder();
                UserControl      ctr = (UserControl)LoadControl("~/Minutas/TemplateMailMinuta.ascx");
                StringWriter     sw  = new StringWriter(sb);
                Html32TextWriter htw = new Html32TextWriter(sw);
                ctr.RenderControl(htw);
                string templete = sb.ToString();
                idsesion = Convert.ToInt32(hd_idsesion.Value);
                MinutasUsuarios mu = new MinutasUsuarios()
                {
                    ObjMinutas = new Minutas(), ObjUsuarios = new UsuariosDatos()
                    {
                        User = new Usuarios()
                    }
                };
                mu.ObjMinutas.IdSesion     = idsesion;
                mu.ObjUsuarios.User.IdUser = Convert.ToInt32(Session["IdUser"]);
                MinutasBL blmu = new MinutasBL();


                MinutasBL bl  = new MinutasBL();
                Minutas   min = new Minutas()
                {
                    ObjUsuarios = new UsuariosDatos()
                    {
                        User = new Usuarios()
                    }
                };
                min.IdSesion = idsesion;
                min.ObjUsuarios.User.IdUser = Convert.ToInt32(Session["IdUser"]);
                min = bl.GetMinutasbyFolio(min);

                templete = templete.Replace("#Foliominuta#", string.Format("{0:D8}", idsesion));
                templete = templete.Replace("#Fechacreacion#", min.Fecharegistro.ToShortDateString());
                templete = templete.Replace("#Usuariocreador#", min.ObjUsuarios.NombreUser);
                templete = templete.Replace("#Tematica#", min.ObjTemas.descripcion);
                templete = templete.Replace("#Fechaentrega#", min.Fechafin.HasValue ? min.Fechafin.Value.ToShortDateString() : "");
                templete = templete.Replace("#Tiposesion#", min.ObjTipoSesion.TipoSesion);

                templete = templete.Replace("#Objetivo#", HttpUtility.HtmlDecode(min.Objetivo));
                templete = templete.Replace("#Descripcion#", HttpUtility.HtmlDecode(min.Descripcion));

                string minutacompleta = "";

                Email   objemail = new Email();
                EmailBL blmail   = new EmailBL();
                objemail.Principal = true;
                objemail.IdMail    = 0;
                objemail.Usermail  = string.Empty;

                objemail        = blmail.GetEmail(objemail);
                objemail.Asunto = "Notificación de nueva Sesión de minuta. Folio " + string.Format("{0:D8}", idsesion);


                foreach (MinutasUsuarios item in blmu.GetUsuariosSesion(mu))
                {
                    MinutasUsuarios obj = new MinutasUsuarios()
                    {
                        ObjMinutas = new Minutas(), ObjUsuarios = new UsuariosDatos()
                        {
                            User = new Usuarios()
                        }
                    };
                    obj.ObjMinutas.IdSesion     = idsesion;
                    obj.ObjUsuarios.User.IdUser = item.IdUserMinuta;
                    MinutasBL mbl = new MinutasBL();

                    StringBuilder    sb1  = new StringBuilder();
                    UserControl      ctr1 = (UserControl)LoadControl("~/Minutas/TemplateMailMinuta.ascx");
                    StringWriter     sw1  = new StringWriter(sb1);
                    Html32TextWriter htw1 = new Html32TextWriter(sw1);
                    ctr1.RenderControl(htw1);
                    string templeteaux = sb1.ToString();

                    templeteaux = templeteaux.Replace("#Usuario#", item.ObjUsuarios.NombreCompleto);
                    templeteaux = templeteaux.Replace("#Foliominuta#", string.Format("{0:D8}", idsesion));
                    templeteaux = templeteaux.Replace("#Fechacreacion#", min.Fecharegistro.ToShortDateString());
                    templeteaux = templeteaux.Replace("#Usuariocreador#", min.ObjUsuarios.NombreUser);
                    templeteaux = templeteaux.Replace("#Tematica#", min.ObjTemas.descripcion);
                    templeteaux = templeteaux.Replace("#Fechaentrega#", min.Fechafin.HasValue ? min.Fechafin.Value.ToShortDateString() : "");
                    templeteaux = templeteaux.Replace("#Tiposesion#", min.ObjTipoSesion.TipoSesion);

                    templeteaux = templeteaux.Replace("#Objetivo#", HttpUtility.HtmlDecode(min.Objetivo));
                    templeteaux = templeteaux.Replace("#Descripcion#", HttpUtility.HtmlDecode(min.Descripcion));

                    StringBuilder                  sbltvUsuariosMinuta = new StringBuilder();
                    System.IO.StringWriter         stringWrite         = new System.IO.StringWriter(sbltvUsuariosMinuta);
                    System.Web.UI.Html32TextWriter htmlWrite           = new Html32TextWriter(stringWrite);

                    ltvUsuariosSesion.DataSource = mbl.GetUsuariosSesion(obj);
                    ltvUsuariosSesion.DataBind();
                    ltvUsuariosSesion.RenderControl(htmlWrite);

                    minutacompleta += sbltvUsuariosMinuta.ToString();
                    templeteaux     = templeteaux.Replace("#Acuerdos#", sbltvUsuariosMinuta.ToString());

                    generales gral = new generales();
                    if (gral.IsValidEmail(item.ObjUsuarios.User.Username))
                    {
                        objemail.Body    = templeteaux;
                        objemail.MailTo  = item.ObjUsuarios.User.Username;
                        objemail.MailCC  = string.Empty;
                        objemail.MailBcc = string.Empty;
                        generales.enviarMail(objemail);
                    }
                    stringWrite.Dispose();
                    htmlWrite.Dispose();

                    sw1.Dispose();
                    htw1.Dispose();
                }

                ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "$('.modalfinsesion').modal('show')", true);
            }
            else
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "bootbox.alert('<div class=\" alert alert-warning\">No existe participantes para ésta sesión. Para enviar la notificación es necesario incluir a los participantes.</div>')", true);
            }
        }
        catch (Exception ex)
        {
            ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "bootbox.alert('<div class=\"alert alert-danger\">Se produjo un error al enviar el mail! " + ex.Message.Replace("'", "") + "</div>');", true);
        }
    }
示例#18
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (RouteData.Values["idsesion"] != null)
        {
            idsesion = Convert.ToInt32(RouteData.Values["idsesion"]);
        }
        if (!ValidarSesion.sesionactiva())
        {
            Response.Redirect("~/Default.aspx");
        }

        StringBuilder    sb  = new StringBuilder();
        UserControl      ctr = (UserControl)LoadControl("~/Minutas/TemplateDetalleSesion.ascx");
        StringWriter     sw  = new StringWriter(sb);
        Html32TextWriter htw = new Html32TextWriter(sw);

        ctr.RenderControl(htw);
        string templete = sb.ToString();

        templete = templete.Replace("#FOLIOSESION#", string.Format("{0,22:D8}", idsesion));

        MinutasBL bl  = new MinutasBL();
        Minutas   min = new Minutas()
        {
            ObjUsuarios = new UsuariosDatos()
            {
                User = new Usuarios()
            }
        };

        min.IdSesion = idsesion;
        min.ObjUsuarios.User.IdUser = Convert.ToInt32(Session["IdUser"]);
        min = bl.GetMinutasbyFolio(min);

        templete = templete.Replace("#STATUSMINUTA#", min.ObjStatus.nomstatus);
        templete = templete.Replace("#FECHAREGISTRO#", min.Fecharegistro.ToShortDateString());
        templete = templete.Replace("#FECHAPROGRAMADA#", min.Fechafin.HasValue ? min.Fechafin.Value.ToShortDateString() : "");
        templete = templete.Replace("#FECHACONC#", min.FechaConclusion.HasValue ? min.FechaConclusion.Value.ToShortDateString():"");
        templete = templete.Replace("#TIPOSESION#", min.ObjTipoSesion.TipoSesion);
        templete = templete.Replace("#COACHING#", min.ObjUsuarios.NombreCompleto);
        templete = templete.Replace("#DETALLEENTREGA#", min.LabelDias);

        templete = templete.Replace("#OBJETIVO#", HttpUtility.HtmlDecode(min.Objetivo));
        templete = templete.Replace("#DESCRIPCION#", HttpUtility.HtmlDecode(min.Descripcion));


        //usuarios sesion
        /*AGREGAMOS EL DETALLE DE PAGO A PROVEEDORES*/
        StringBuilder sbltvUsuariosMinuta = new StringBuilder();

        System.IO.StringWriter         stringWrite = new System.IO.StringWriter(sbltvUsuariosMinuta);
        System.Web.UI.Html32TextWriter htmlWrite   = new Html32TextWriter(stringWrite);

        MinutasUsuarios mu = new MinutasUsuarios()
        {
            ObjMinutas = new Minutas(), ObjUsuarios = new UsuariosDatos()
            {
                User = new Usuarios()
            }
        };

        mu.ObjMinutas.IdSesion     = idsesion;
        mu.ObjUsuarios.User.IdUser = Convert.ToInt32(Session["IdUser"]);
        MinutasBL blmu = new MinutasBL();

        ltvUsuariosSesion.DataSource = blmu.GetUsuariosSesion(mu);
        ltvUsuariosSesion.DataBind();
        ltvUsuariosSesion.RenderControl(htmlWrite);
        templete = templete.Replace("#LISTAUSUARIOS#", sbltvUsuariosMinuta.ToString());

        stringWrite.Dispose();
        htmlWrite.Dispose();

        ltvUsuariosSesion.Visible = false;
        htmlMinutas.InnerHtml     = templete;
    }