예제 #1
0
 public ActionResult Edit([Bind(Include = "Id,permission")] Role role, int[] list)
 {
     if (ModelState.IsValid)
     {
         db.Entry(role).State = EntityState.Modified;
         db.SaveChanges();
         List <Permission_Role> datas = role.Permission_Role.ToList();
         foreach (Permission_Role data in datas)
         {
             if (list.Where(i => i == data.Id) == null)
             {
                 db.Permission_Role.Remove(data);
             }
         }
         foreach (int id in list)
         {
             Permission_Role val = db.Permission_Role.FirstOrDefault(t => t.Permission_Id == id && t.Role_Id == role.Id);
             if (val == null)
             {
                 Permission_Role Permission_Role = new Permission_Role();
                 Permission_Role.Permission_Id = id;
                 Permission_Role.Role_Id       = role.Id;
                 role.Permission_Role.Add(Permission_Role);
             }
         }
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(role));
 }
예제 #2
0
        public ActionResult Create([Bind(Include = "Id,permission")] Role role, int[] list)
        {
            if (ModelState.IsValid)
            {
                db.Role.Add(role);
                db.SaveChanges();
                foreach (int id in list)
                {
                    Permission_Role Permission_Role = new Permission_Role();
                    Permission_Role.Permission_Id = id;
                    Permission_Role.Role_Id       = role.Id;
                    role.Permission_Role.Add(Permission_Role);
                }
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(role));
        }
예제 #3
0
        public string InsertRole(string RoleName, string Description, List <String> PermissionRole)
        {
            try
            {
                if (PermissionRole == null)
                {
                    PermissionRole = new List <string>();
                }
                if (!RoleDAO.checkRoleName(RoleName))
                {
                    return("Role Name đã tồn tại !!!");
                }

                var rs = new Role()
                {
                    RoleName    = RoleName,
                    Description = Description,
                };
                _context.Roles.Add(rs);
                var check = _context.Roles.Find(RoleName);
                if (RoleName == null)
                {
                    return("fail");
                }
                foreach (var i in PermissionRole)
                {
                    var pe_ro = new Permission_Role()
                    {
                        RoleName     = RoleName,
                        PermissionID = Convert.ToInt32(i)
                    };
                    _context.AccoPermission_Roles.Add(pe_ro);
                }
                _context.SaveChanges();
            }
            catch (Exception ex)
            {
                return("Thêm Role không thành công !!!");
            }

            return("success");
        }
예제 #4
0
 public string UpdateRole(string RoleName, string Description, List <String> PermissionRole)
 {
     try
     {
         if (PermissionRole == null)
         {
             PermissionRole = new List <string>();
         }
         var r = _context.Roles.Find(RoleName);
         if (r == null)
         {
             return("Role không tồn tại");
         }
         r.Description = Description;
         //remove
         var getPer = _context.AccoPermission_Roles.Where(x => x.RoleName == RoleName);
         foreach (var i in getPer)
         {
             _context.AccoPermission_Roles.Remove(i);
         }
         //add new
         foreach (var i in PermissionRole)
         {
             var pe_ro = new Permission_Role()
             {
                 RoleName     = RoleName,
                 PermissionID = int.Parse(i)
             };
             _context.AccoPermission_Roles.Add(pe_ro);
         }
         _context.SaveChanges();
     }
     catch (Exception ex)
     {
     }
     return("success");
 }