示例#1
0
文件: Program.cs 项目: ethedy/OMB_MVC
        /// <summary>
        /// Tomamos un Usuario, cambiamos la Persona asociada al mismo, algunas propiedades escalares, eliminamos un perfil
        /// y agregamos otro. Tambien modificamos la contraseña
        /// Luego de probar este metodo se puede acceder a la app principal y ver que pasa, obviamente ingresando con la
        /// nueva password
        /// [[IMPORTANTE]]
        /// Antes de probar este metodo, asegurarse de haber llamado a CrearUsuarioCompleto()
        /// </summary>
        public static void CambiarCompleto()
        {
            SecurityServices serv = new SecurityServices();
            Usuario          user;

            user = serv.GetUsuarioFromLogin("lsimpson");

            var perfiles = from p in DB.Contexto.Perfiles where p.ID == 4 select p;

            user.Perfiles.RemoveWhere(perf => perf.ID == 2);
            user.Perfiles.Add(perfiles.Single());

            Persona nuevaPersona;

            //  primero chequeamos que la Persona no exista, si no existe la creamos
            nuevaPersona = (from per in DB.Contexto.Personas where per.Apellido == "Olsen" && per.Nombre == "Mona Penelope"
                            select per).SingleOrDefault();

            if (nuevaPersona == null)
            {
                nuevaPersona = CrearPersonaInternal("Mona Penelope", "Olsen", "*****@*****.**", 78);
            }

            user.Persona = nuevaPersona;

            user.EnforceExpiration       = true;
            user.FechaExpiracionPassword = DateTime.Now.AddDays(120);

            serv.UpdateUsuario(user, "123-lisa");
        }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="cbPerfiles">Valor option del elemento actualmente seleccionado en el dropdown</param>
        /// <param name="login">Argumento adicional que se obtiene desde el modelo y se vuelve a pasar al controlador
        /// Otra posibilidad seria incluirlo en un campo hidden
        /// </param>
        /// <returns></returns>
        public ActionResult SelectPerfil(string cbPerfiles, string login)
        {
            SecurityServices serv = new SecurityServices();
            Usuario          user = serv.GetUsuarioFromLogin(login);
            Perfil           perfilElegido;
            Sesion           newSesion;

            perfilElegido = user.Perfiles.Where(pf => pf.Nombre == cbPerfiles).Single();

            Session["SESION_USER"] = newSesion = serv.CrearSesion(user, perfilElegido);
            return(View("LoginOK_v2", newSesion));
        }
示例#3
0
文件: Program.cs 项目: ethedy/OMB_MVC
        /// <summary>
        /// Tomamos un Usuario, borramos los perfiles que tiene y agregamos los que no tenia
        /// Visualizar en SQL Profiler: se veran las dos instrucciones delete y los 2 insert en Usuarios_Perfiles
        /// [[IMPORTANTE]]
        /// Antes de probar este metodo, asegurarse de haber llamado a CrearUsuarioCompleto() ya que ahi es donde
        /// colocamos los perfiles
        /// </summary>
        public static void CambiarSoloPerfiles()
        {
            SecurityServices serv = new SecurityServices();
            Usuario          user;

            //  Seguramente no se hace un viaje a la DB, este objeto ya esta en memoria local...
            user = serv.GetUsuarioFromLogin("lsimpson");

            var perfiles = from p in DB.Contexto.Perfiles where p.ID == 1 || p.ID == 4 select p;

            user.Perfiles.Clear();
            user.Perfiles.UnionWith(perfiles);

            serv.UpdateUsuario(user);
        }