public bool IniciarSesionClick() { int miembroSecundarioId = registroMiembro.ObtenerId(); if (miembroSecundarioId > 0) { ManejadorDeCelulas manejadorDeCelulas = new ManejadorDeCelulas(); List <int> celulasPermitidas = manejadorDeCelulas.ObtenerCelulasPermitidasPorMiembroComoIds(SesionActual.Instance.UsuarioId); Miembro miembroSecundario = (from o in SesionActual.Instance.getContexto <IglesiaEntities>().Miembro where o.MiembroId == miembroSecundarioId && o.Borrado == false select o).SingleOrDefault(); if (miembroSecundario != null && celulasPermitidas.Contains(miembroSecundario.CelulaId)) { Miembro miembroActual = ManejadorDeMiembros.ObtenerMiembroActual(); log.InfoFormat("El usuario {0} [{1}] iniciara sesion como {2} [{3}]", miembroActual.Email, miembroActual.MiembroId, miembroSecundario.Email, miembroSecundario.MiembroId); this.RestablecerCacheDeSesion(); ManejadorDeMiembros manejadorDeMiembros = new ManejadorDeMiembros(); manejadorDeMiembros.IniciarSesion(miembroSecundario.Email, string.Empty, true); return(true); } else { X.Msg.Alert(Generales.nickNameDeLaApp, "Miembro inexistente o no pertenece a la red").Show(); } } else { X.Msg.Alert(Generales.nickNameDeLaApp, "Es necesario establecer un miembro").Show(); } return(false); }
public void GenerarReporte() { try { Miembro miembro = ManejadorDeMiembros.ObtenerMiembroActual(); ManejadorDeReportesDeAsistencias manejador = new ManejadorDeReportesDeAsistencias(); DateTime fechaInicial = DateTime.Now.GetFirstDateOfWeek().AddDays(-7); EmailMessage mensaje = manejador.GenerarCorreoSemanalDeFaltaDeAsistenciasPorRed(fechaInicial, miembro, (ManejadorDeReportesDeAsistencias.TipoDeReporte)cboTipoDeReporteGenerado.ObtenerId(), string.Empty); if (mensaje != null) { string destinatario = string.Empty; List <string> destinatariosCC = new List <string>(); foreach (Recipient recipient in mensaje.Recipients) { if (recipient.Type == RecipientType.To) { destinatario = recipient.Email; } else { destinatariosCC.Add(recipient.Email); } } pnlHtml.Html = "Para: " + destinatario + "<br/>CC: " + string.Join(",", destinatariosCC) + "<br/><hr/>" + ((BodyPart)mensaje.BodyParts.GetLastItem()).Body; } else { pnlHtml.Html = "Todas las células han registrado sus asistencias correspondientes."; } } catch (ExcepcionAplicacion ex) { X.Msg.Alert(Generales.nickNameDeLaApp, ex.Message).Show(); } }