Exemple #1
0
        /// <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");
        }
Exemple #2
0
        /// <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);
        }