Example #1
0
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AspNet_Perfiles perfil = await db.AspNet_Perfiles.FindAsync(id);

            List <AspNetRole> roles = await db.AspNetRoles.ToListAsync();

            foreach (var cont in roles)
            {
                if (perfil.AspNetRoles.ToList().Exists(rr => rr.Name == cont.Name))
                {
                    cont.Activo = true;
                }
            }
            if (perfil == null)
            {
                return(HttpNotFound());
            }

            if (TempData["MsjExito"] != null)
            {
                ViewBag.MsjExito = TempData["MsjExito"];
                TempData.Remove("MsjExito");
            }

            ViewBag.IdPerfil = perfil.id;
            ViewBag.Perfil   = perfil.descripcion;
            return(View(roles));
        }
Example #2
0
        /// <summary>
        /// Agregar - actualiza los roles de un perfil. El perfil Ya debe esxistri en la DB
        /// </summary>
        public static void AgregarRolesPerfiles(AspNet_Perfiles perfil)
        {
            List <AspNetUser> listUsu;

            using (Entidades.EF.ComunidadEntities context = new Entidades.EF.ComunidadEntities())
            {
                context.Database.ExecuteSqlCommand("DELETE FROM AspNet_PerfilesRoles WHERE PerfilesId = @id", new SqlParameter("id", perfil.id));
                var per = context.AspNet_Perfiles.Find(perfil.id);
                var sql = @"SELECT DISTINCT anu.* FROM AspNet_PerfilesUsuarios anpu
                            INNER JOIN AspNetUsers anu ON anu.Id = anpu.UsuariosId
                            WHERE anpu.PerfilesId = @id";
                listUsu = context.Database.SqlQuery <Entidades.EF.AspNetUser>(sql, new SqlParameter("id", perfil.id)).ToList();
                foreach (var usu in listUsu)
                {
                    usu.AspNet_Perfiles = context.AspNetUsers.Find(usu.Id).AspNet_Perfiles;
                }
                per.AspNetRoles = perfil.AspNetRoles;
                foreach (var r in per.AspNetRoles)
                {
                    context.Entry(r).State = System.Data.Entity.EntityState.Modified;
                }

                context.Entry(per).State = System.Data.Entity.EntityState.Modified;
                context.SaveChanges();
            }
            foreach (var usu in listUsu)
            {
                agregarUsarioRoles(usu);
            }
        }
Example #3
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            AspNet_Perfiles aspNet_Perfiles = await db.AspNet_Perfiles.FindAsync(id);

            db.AspNet_Perfiles.Remove(aspNet_Perfiles);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Example #4
0
        public async Task <ActionResult> Edit([Bind(Include = "id,descripcion")] AspNet_Perfiles aspNet_Perfiles)
        {
            if (ModelState.IsValid)
            {
                db.Entry(aspNet_Perfiles).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(aspNet_Perfiles));
        }
Example #5
0
        public async Task <ActionResult> Create([Bind(Include = "id,descripcion")] AspNet_Perfiles aspNet_Perfiles)
        {
            if (ModelState.IsValid)
            {
                db.AspNet_Perfiles.Add(aspNet_Perfiles);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(aspNet_Perfiles));
        }
Example #6
0
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AspNet_Perfiles aspNet_Perfiles = await db.AspNet_Perfiles.FindAsync(id);

            if (aspNet_Perfiles == null)
            {
                return(HttpNotFound());
            }
            return(View(aspNet_Perfiles));
        }
Example #7
0
        public async Task <ActionResult> RolesPerfil(List <AspNetRole> listRoles)
        {
            var idPerfil = Request.Form["id-perfil"];

            Entidades.EF.AspNet_Perfiles perf = new AspNet_Perfiles();
            perf.id = Convert.ToInt32(idPerfil);
            foreach (var r in listRoles)
            {
                if (r.Activo)
                {
                    perf.AspNetRoles.Add(r);
                }
            }
            Negocio.ControladorUsuarios.AgregarRolesPerfiles(perf);


            //var perf = db.AspNet_Perfiles.Find(Convert.ToInt32(idPerfil));
            //db.Entry(perf).State = EntityState.Modified;
            //perf.AspNetRoles.Clear();


            //foreach (var r in listRoles)
            //{
            //    if (perf.AspNetRoles.Any(rr=>rr.Id == r.Id))
            //    {
            //        if (r.Activo)
            //        {
            //            db.Entry(r).State = EntityState.Unchanged;
            //            perf.AspNetRoles.Add(r);
            //        }
            //        else
            //        {
            //            db.Entry(r).State = EntityState.Unchanged;
            //            perf.AspNetRoles.Add(r);
            //        }
            //    }


            //}
            //await db.SaveChangesAsync();
            TempData["MsjExito"] = "Roles Modificados Correctamente";
            return(RedirectToAction("Details", "Perfiles", new { id = idPerfil }));
        }