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 override System.Data.Objects.DataClasses.EntityObject IniciarSesion()
        {
            //Iniciamos sesion del usuario especificado para SOLO LECTURA del sistema
            ManejadorDeMiembros manejador = new ManejadorDeMiembros();

            return(manejador.IniciarSesion(WebConfigurationManager.AppSettings["EmailDeUsuarioDeSoloLectura"], WebConfigurationManager.AppSettings["PwdDeUsuarioDeSoloLectura"]));
        }
        private void generarArbolDeNavegacion()
        {
            int    usuarioId = SesionActual.Instance.UsuarioId;
            string appId     = "WebV2";

            ManejadorDeMiembros      manejador = new ManejadorDeMiembros();
            List <PantallaPermitida> pantallasPermitidasPorRoles = manejador.ObtenerPantallasPermitidasPorMiembro(usuarioId, appId);

            Dictionary <string, Ext.Net.TreeNode> nodos = new Dictionary <string, Ext.Net.TreeNode>();

            Ext.Net.TreeNode navegacion    = new Ext.Net.TreeNode("Navegación");
            Ext.Net.TreeNode nodoCategoria = new Ext.Net.TreeNode();
            Ext.Net.TreeNode nodoPantalla;
            string           categoria;
            string           categoriaKey;

            string[] subcategorias;

            foreach (PantallaPermitida p in pantallasPermitidasPorRoles)
            {
                if (p.Categoria.Trim().Length > 0)
                {
                    subcategorias = p.Categoria.Split('/');
                    for (int i = 0; i < subcategorias.Length; i++)
                    {
                        categoria    = subcategorias[i];
                        categoriaKey = string.Join("/", subcategorias, 0, i + 1);

                        if (nodos.ContainsKey(categoriaKey))
                        {
                            nodoCategoria = nodos[categoriaKey];
                        }
                        else
                        {
                            nodoCategoria       = new Ext.Net.TreeNode(categoria);
                            nodoCategoria.Href  = "javascript:void(0);";
                            nodos[categoriaKey] = nodoCategoria;

                            if (i == 0)
                            {
                                navegacion.Nodes.Add(nodoCategoria);
                            }
                            else
                            {
                                nodos[string.Join("/", subcategorias, 0, i)].Nodes.Add(nodoCategoria);
                            }
                        }
                    }

                    nodoPantalla      = new Ext.Net.TreeNode(p.Nombre);
                    nodoPantalla.Href = "javascript:void(0);";
                    nodoPantalla.Listeners.Click.Handler = string.Format("cargarPantalla('{0}','{1}');", p.Nombre, ResolveUrl("~/Paginas/" + p.Categoria + "/" + p.Nombre_Tecnico));
                    nodoCategoria.Nodes.Add(nodoPantalla);
                }
            }

            pnlPantallas.Root.Clear();
            pnlPantallas.Root.Add(navegacion);
        }
示例#4
0
        void ICatalogo.CargarControles()
        {
            manejadorDeMiembros = new ManejadorDeMiembros();

            Filtros.CargarControles();
            StoreCiclos.Cargar(Ciclo.Obtener());
            StorePasos.Cargar(MiembroPaso.Obtener());
            StoreCategorias.Cargar(PasoCategoria.Obtener());
        }
 private void CargarUsuarioDesdeCookie()
 {
     if (HttpContext.Current.CurrentHandler is ZagueEF.Core.Web.PaginaBase)
     {
         //Si el usuario NO tiene sesion en el servidor, PERO tiene sesion en el cliente (COOKIE), intentamos iniciar sesion
         if ((HttpContext.Current.User.Identity.IsAuthenticated) && (SesionActual.Instance.UsuarioId < 0))
         {
             ManejadorDeMiembros manejador = new ManejadorDeMiembros();
             SesionActual.Instance.UsuarioId = ((Miembro)manejador.IniciarSesion(HttpContext.Current.User.Identity.Name, string.Empty, true)).MiembroId;
         }
     }
 }
示例#6
0
 public JsonResult IniciarSesion(string email, string password, bool recordarme)
 {
     try
     {
         ManejadorDeMiembros manejador = new ManejadorDeMiembros();
         manejador.IniciarSesion(email, password);
         CrearCookie(email, recordarme);
     }
     catch (ExcepcionReglaNegocio ex)
     {
         return(Json(new { error = ex.Message }));
     }
     return(Json(new { url = Url.Action("Index", "Home") }));
 }
示例#7
0
        void ICatalogo.Mostrar(int id)
        {
            Miembro entidad = (from o in SesionActual.Instance.getContexto <IglesiaEntities>().Miembro where o.MiembroId == id select o).FirstOrDefault();

            registroId.Value              = entidad.MiembroId.ToString();
            registroEmail.Value           = entidad.Email;
            registroPrimerNombre.Value    = entidad.Primer_Nombre;
            registroSegundoNombre.Value   = entidad.Segundo_Nombre;
            registroApellidoPaterno.Value = entidad.Apellido_Paterno;
            registroApellidoMaterno.Value = entidad.Apellido_Materno;

            manejadorDeMiembros = new ManejadorDeMiembros();
            StorePasosPorMiembro.Cargar(manejadorDeMiembros.ObtenerPasosPorMiembro(id));
        }
示例#8
0
        public void LoginClick()
        {
            try
            {
                string email      = txtUsername.Text;
                string password   = txtPassword.Text;
                bool   recordarme = chkRecordarme.Checked;

                ManejadorDeMiembros manejador = new ManejadorDeMiembros();
                manejador.IniciarSesion(email, password);
                CrearCookie(email, recordarme);
                RedireccionarAPaginaProtegida();
            }
            catch (ExcepcionReglaNegocio ex)
            {
                X.Msg.Alert(Core.Constantes.Generales.nickNameDeLaApp, ex.Message).Show();
            }
            txtPassword.Clear();
        }
示例#9
0
        public void CambiarContrasenaClick()
        {
            try
            {
                string email       = txtUsername.Text;
                string oldPassword = txtPassword.Text;
                string newPassword = txtNewPassword.Text;

                ManejadorDeMiembros manejador = new ManejadorDeMiembros();
                manejador.CambiarContrasena(email, oldPassword, newPassword);
                X.Msg.Alert(Core.Constantes.Generales.nickNameDeLaApp, Resources.Literales.ContrasenaCambiadaCorrectamente).Show();
                txtPassword.Focus();
            }
            catch (ExcepcionReglaNegocio ex)
            {
                X.Msg.Alert(Core.Constantes.Generales.nickNameDeLaApp, ex.Message).Show();
            }

            wndCambiarContrasena.Hide();
            txtPassword.Clear();
            txtNewPassword.Clear();
        }
        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();
            }
        }
示例#11
0
 void ICatalogo.Guardar(int id, RegistrosHelper.ListaDeRegistrosDeDatos listaDeRegistrosDeDatos)
 {
     manejadorDeMiembros = new ManejadorDeMiembros();
     manejadorDeMiembros.GuardarPasosPorMiembro(id, listaDeRegistrosDeDatos.Obtener(registroPasos.ClientID));
 }
        //
        // GET: /Home/

        public ActionResult Index()
        {
            ManejadorDeMiembros manejador = new ManejadorDeMiembros();

            return(View(manejador.ObtenerPantallasPermitidasPorMiembro(SesionActual.Instance.UsuarioId, "WebMobileV2")));
        }