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(); }
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); } }
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); } }
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; }