public void AfterSave(T_Facility t_facility)
        {
            var roleContext = new ApplicationDbContext();

            if (roleContext.Roles.FirstOrDefault(p => p.TenantId == t_facility.Id) == null)
            {
                var            RoleManager       = new RoleManager <ApplicationRole>(new RoleStore <ApplicationRole>(new ApplicationDbContext()));
                IdentityResult roleResultCanEdit = RoleManager.Create(new ApplicationRole(t_facility.DisplayValue + "-Admin", t_facility.DisplayValue + " Tenant Admin Role", "TenantSpecific", t_facility.Id));
                if (roleResultCanEdit.Succeeded)
                {
                    using (var permissionContextTenantAdmin = new PermissionContext())
                    {
                        var flag = false;
                        foreach (var ent in permissionContextTenantAdmin.Permissions.Where(p => p.RoleName == "Tenant-Admin-Template"))
                        {
                            Permission permission = new Permission();
                            permission.CanAdd           = ent.CanAdd;
                            permission.CanDelete        = ent.CanDelete;
                            permission.CanView          = ent.CanView;
                            permission.CanEdit          = ent.CanEdit;
                            permission.IsOwner          = ent.IsOwner;
                            permission.SelfRegistration = ent.SelfRegistration;
                            permission.EntityName       = ent.EntityName;
                            permission.RoleName         = t_facility.DisplayValue + "-Admin";
                            permission.Verbs            = ent.Verbs;
                            permission.UserAssociation  = ent.UserAssociation;
                            permissionContextTenantAdmin.Permissions.Add(permission);
                            flag = true;
                        }
                        if (flag)
                        {
                            permissionContextTenantAdmin.SaveChanges();
                        }
                        flag = false;
                        foreach (var ent in permissionContextTenantAdmin.AdminPrivileges.Where(p => p.RoleName == "Tenant-Admin-Template"))
                        {
                            PermissionAdminPrivilege permission = new PermissionAdminPrivilege();
                            permission.AdminFeature = ent.AdminFeature;
                            permission.IsAdd        = ent.IsAdd;
                            permission.IsAllow      = ent.IsAllow;
                            permission.IsDelete     = ent.IsDelete;
                            permission.IsEdit       = ent.IsEdit;
                            permission.RoleName     = t_facility.DisplayValue + "-Admin";
                            permissionContextTenantAdmin.AdminPrivileges.Add(permission);
                            flag = true;
                        }
                        if (flag)
                        {
                            permissionContextTenantAdmin.SaveChanges();
                        }
                    }
                }
            }
            // Write your logic here
        }
        public ActionResult SaveAdminPrivilege(SelectEntityRolesViewModel model)
        {
            PermissionContext db = new PermissionContext(LogggedInUser);

            if (!((CustomPrincipal)User).IsAdmin)
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (ModelState.IsValid)
            {
                foreach (var ent in model.privileges)
                {
                    var list = db.AdminPrivileges.FirstOrDefault(q => q.RoleName == model.RoleName && ent.AdminFeature == q.AdminFeature);
                    PermissionAdminPrivilege permission = (list != null ? list : new PermissionAdminPrivilege());
                    permission.IsAllow      = ent.IsAllow;
                    permission.IsEdit       = ent.IsEdit;
                    permission.IsAdd        = ent.IsAdd;
                    permission.IsDelete     = ent.IsDelete;
                    permission.AdminFeature = ent.AdminFeature;
                    permission.RoleName     = ent.RoleName;
                    if (list == null)
                    {
                        db.AdminPrivileges.Add(permission);
                    }
                    db.SaveChanges();
                }
            }
            return(RedirectToAction("Index", new { RoleName = model.RoleName }));
            // return Json("FROMPAGE", "application/json", System.Text.Encoding.UTF8, JsonRequestBehavior.AllowGet);
        }
示例#3
0
        public bool DelByUserId(Guid id)
        {
            using (var db = new PermissionContext())
            {
                var userRole = db.UserRoles.Where(d => d.UserId == id);
                if (!userRole.Any())
                {
                    return(true);
                }
                else
                {
                    if (userRole.Count() > 1)
                    {
                        db.UserRoles.RemoveRange(userRole);
                    }
                    else
                    {
                        db.UserRoles.Remove(userRole.FirstOrDefault());
                    }
                }


                return(db.SaveChanges() > 0);
            }
        }
示例#4
0
 public Role Create(Role model)
 {
     using (var db = new PermissionContext())
     {
         var role = db.Roles.Add(model);
         db.SaveChanges();
         return(role);
     }
 }
示例#5
0
 public Button Create(Button model)
 {
     using (var db = new PermissionContext())
     {
         var button = db.Buttons.Add(model);
         db.SaveChanges();
         return(button);
     }
 }
示例#6
0
 public RoleMenuButton Authorize(RoleMenuButton model)
 {
     using (var db = new PermissionContext())
     {
         var roleMenuButton = db.RoleMenuButtons.Add(model);
         db.SaveChanges();
         return(roleMenuButton);
     }
 }
示例#7
0
 public bool Del(Guid id)
 {
     using (var db = new PermissionContext())
     {
         var button = db.Buttons.Find(id);
         db.Buttons.Remove(button);
         return(db.SaveChanges() > 0);
     }
 }
示例#8
0
 public User Create(User model)
 {
     using (var db = new PermissionContext())
     {
         var user = db.Users.Add(model);
         db.SaveChanges();
         return(user);
     }
 }
示例#9
0
 public Department Create(Department model)
 {
     using (var db = new PermissionContext())
     {
         var department = db.Departments.Add(model);
         db.SaveChanges();
         return(department);
     }
 }
示例#10
0
 public UserDepartment Create(UserDepartment model)
 {
     using (var db = new PermissionContext())
     {
         var userDepartments = db.UserDepartments.Add(model);
         db.SaveChanges();
         return(userDepartments);
     }
 }
示例#11
0
 public Menu Create(Menu model)
 {
     using (var db = new PermissionContext())
     {
         var menu = db.Menus.Add(model);
         db.SaveChanges();
         return(menu);
     }
 }
示例#12
0
 public MenuButton Create(MenuButton model)
 {
     using (var db = new PermissionContext())
     {
         var menuButton = db.MenuButtons.Add(model);
         db.SaveChanges();
         return(menuButton);
     }
 }
示例#13
0
        public bool Del(Guid id)
        {
            using (var db = new PermissionContext())
            {
                var menu = db.Menus.Find(id);
                db.Menus.Remove(menu);

                return(db.SaveChanges() > 0);
            }
        }
示例#14
0
 public MenuButton Update(MenuButton model)
 {
     using (var db = new PermissionContext())
     {
         var menuButton = db.MenuButtons.Find(model.Id);
         menuButton = model;
         db.SaveChanges();
         return(menuButton);
     }
 }
示例#15
0
        static void CreatePermission(Permission permission, PermissionContext context)
        {
            var exist = context.Permissons.Where(c => c.Name == permission.Name).FirstOrDefault();

            if (exist == null)
            {
                context.Permissons.Add(permission);
                context.SaveChanges();
            }
        }
示例#16
0
        public bool Del(Guid id)
        {
            using (var db = new PermissionContext())
            {
                var role = db.Roles.Find(id);
                db.Roles.Remove(role);

                return(db.SaveChanges() > 0);
            }
        }
示例#17
0
        public bool Del(Guid id)
        {
            using (var db = new PermissionContext())
            {
                var userDepartments = db.UserDepartments.Find(id);
                db.UserDepartments.Remove(userDepartments);

                return(db.SaveChanges() > 0);
            }
        }
示例#18
0
 public UserDepartment Update(UserDepartment model)
 {
     using (var db = new PermissionContext())
     {
         var userDepartments = db.UserDepartments.Find(model.Id);
         userDepartments = model;
         db.SaveChanges();
         return(userDepartments);
     }
 }
示例#19
0
        public UserRole Update(UserRole model)
        {
            using (var db = new PermissionContext())
            {
                var userRole = db.UserRoles.Find(model.Id);
                userRole = model;
                db.SaveChanges();

                return(userRole);
            }
        }
示例#20
0
 /// <summary>
 /// 修改密码
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public bool UpdatePwd(User model)
 {
     using (var db = new PermissionContext())
     {
         var user = db.Users.Find(model.Id);;
         user.PassWord    = model.PassWord;
         user.IsChangePwd = true;
         user.UpdateBy    = model.UpdateBy;
         user.UpdateTime  = DateTime.Now;
         return(db.SaveChanges() > 0);
     }
 }
        public ActionResult DeleteConfirmed(long id)
        {
            if (!((CustomPrincipal)User).CanDeleteAdminFeature("RoleEntityPermission"))
            {
                return(RedirectToAction("Index", "Home"));
            }
            PermissionContext db         = new PermissionContext(LogggedInUser);
            Permission        permission = db.Permissions.Find(id);

            db.Permissions.Remove(permission);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#22
0
 public Department Update(Department model)
 {
     using (var db = new PermissionContext())
     {
         var department = db.Departments.Find(model.Id);
         department.Name       = model.Name;
         department.Sort       = model.Sort;
         department.UpdateBy   = model.UpdateBy;
         department.UpdateTime = model.UpdateTime;
         db.SaveChanges();
         return(department);
     }
 }
        public ActionResult SaveFls(SelectFlsViewModel model)
        {
            PermissionContext db = new PermissionContext(LogggedInUser);

            if (!((CustomPrincipal)User).CanEditAdminFeature("FieldLevelSecurity"))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (ModelState.IsValid)
            {
                string EntName = "";
                if (model.Properties.Count() > 0)
                {
                    EntName = model.Properties[0].EntityName;
                    var        list       = db.Permissions.FirstOrDefault(q => q.RoleName == model.RoleName && EntName == q.EntityName);
                    Permission permission = (list != null ? list : new Permission());
                    string     NoEdit     = "";
                    string     NoView     = "";
                    permission.EntityName = EntName;
                    permission.RoleName   = model.RoleName;
                    foreach (var ent in model.Properties)
                    {
                        if (ent.NoEdit)
                        {
                            NoEdit += ent.PropertyName + ",";
                        }
                        if (ent.NoView)
                        {
                            NoView += ent.PropertyName + ",";
                        }
                    }
                    //NoEdit = NoEdit.TrimEnd(",".ToCharArray());
                    //NoView = NoView.TrimEnd(",".ToCharArray());
                    permission.NoEdit = NoEdit;
                    permission.NoView = NoView;

                    permission.CanAdd    = model.CanAdd;
                    permission.CanEdit   = model.CanEdit;
                    permission.CanDelete = model.CanDelete;
                    permission.CanView   = model.CanView;

                    if (list == null)
                    {
                        db.Permissions.Add(permission);
                    }
                    db.SaveChanges();
                }
                return(RedirectToAction("Fls", "Permission", new { RoleName = model.RoleName, key = EntName }));
            }
            return(View());
        }
示例#24
0
        public Role Update(Role model)
        {
            using (var db = new PermissionContext())
            {
                var role = db.Roles.Find(model.Id);
                role.RoleName    = model.RoleName;
                role.Description = model.Description;
                role.UpdateBy    = model.UpdateBy;
                role.UpdateTime  = model.UpdateTime;
                db.SaveChanges();

                return(role);
            }
        }
 public ActionResult Edit([Bind(Include = "Id,EntityName,RoleName,CanEdit,CanDelete,CanView,CanAdd")] Permission permission)
 {
     if (!((CustomPrincipal)User).CanEditAdminFeature("RoleEntityPermission"))
     {
         return(RedirectToAction("Index", "Home"));
     }
     if (ModelState.IsValid)
     {
         PermissionContext db = new PermissionContext(LogggedInUser);
         db.Entry(permission).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(permission));
 }
示例#26
0
 public User Update(User model)
 {
     using (var db = new PermissionContext())
     {
         var user = db.Users.Find(model.Id);;
         user.RealName    = model.RealName;
         user.MobilePhone = model.MobilePhone;
         user.Email       = model.Email;
         user.IsAble      = model.IsAble;
         user.IsChangePwd = model.IsChangePwd;
         user.UpdateBy    = model.UpdateBy;
         user.UpdateTime  = model.UpdateTime;
         db.SaveChanges();
         return(user);
     }
 }
示例#27
0
 public Button Update(Button model)
 {
     using (var db = new PermissionContext())
     {
         var button = db.Buttons.Find(model.Id);
         button.Name        = model.Name;
         button.Code        = model.Code;
         button.Icon        = model.Icon;
         button.Sort        = model.Sort;
         button.UpdateBy    = model.UpdateBy;
         button.UpdateTime  = model.UpdateTime;
         button.Description = model.Description;
         db.SaveChanges();
         return(button);
     }
 }
示例#28
0
 /* ARGS: Input, string that contains the file name
  * RETURNS: NONE
  * Writes input to the database
  */
 public static void permWrite(string input)
 {
     using (var db = new PermissionContext())
     {
         Console.WriteLine($"Input{input}");
         var entry = new PermissionEntry {
             Id = input
         };
         var req = db.perms.Find(input);
         if (req != null)
         {
             return;
         }
         db.perms.Add(entry);
         db.SaveChanges();
     }
 }
示例#29
0
 public Menu Update(Menu model)
 {
     using (var db = new PermissionContext())
     {
         var menu = db.Menus.Find(model.Id);;
         menu.Name        = model.Name;
         menu.ParentId    = model.ParentId;
         menu.LinkAddress = model.LinkAddress;
         menu.Icon        = model.Icon;
         menu.Code        = model.Code;
         menu.Sort        = model.Sort;
         menu.UpdateBy    = model.UpdateBy;
         menu.UpdateTime  = model.UpdateTime;
         db.SaveChanges();
         return(menu);
     }
 }
        public ActionResult SavePermission(SelectEntityRolesViewModel model)
        {
            PermissionContext db = new PermissionContext(LogggedInUser);

            if (!((CustomPrincipal)User).CanEditAdminFeature("RoleEntityPermission"))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (ModelState.IsValid)
            {
                //var idManager = new IdentityManager();


                foreach (var ent in model.Entities)
                {
                    var list = db.Permissions.FirstOrDefault(q => q.RoleName == model.RoleName && ent.EntityName == q.EntityName);
                    //db.Permissions.RemoveRange(list);
                    Permission permission = (list != null ? list : new Permission());
                    permission.CanAdd           = ent.CanAdd;
                    permission.CanDelete        = ent.CanDelete;
                    permission.CanView          = ent.CanView;
                    permission.CanEdit          = ent.CanEdit;
                    permission.IsOwner          = ent.IsOwner;
                    permission.SelfRegistration = ent.SelfRegistration;
                    permission.UserAssociation  = ent.UserAssociation;
                    permission.EntityName       = ent.EntityName;
                    permission.RoleName         = model.RoleName;
                    //code for verb action security
                    permission.Verbs = ent.Verbs;
                    //
                    if (list == null)
                    {
                        db.Permissions.Add(permission);
                    }
                    db.SaveChanges();
                }
                return(Json("FROMPAGE", "application/json", System.Text.Encoding.UTF8, JsonRequestBehavior.AllowGet));
                //return RedirectToAction("Index", "Admin");
            }
            return(View());
        }