private static PermissionForRole MapGroupPermission(GroupPermissionForRole cp) { var pfr = new PermissionForRole { Group = cp.Group, IsTicked = cp.IsTicked, MembershipRole = cp.MembershipRole, Permission = cp.Permission }; return(pfr); }
/// <summary> /// Either updates a CPFR if exists or creates a new one /// </summary> /// <param name="GroupPermissionForRole"></param> public void UpdateOrCreateNew(GroupPermissionForRole GroupPermissionForRole) { // Firstly see if this exists already var permission = CheckExists(GroupPermissionForRole); // if it exists then just update it if (permission != null) { permission.IsTicked = GroupPermissionForRole.IsTicked; } else { Add(GroupPermissionForRole); } }
/// <summary> /// Check the Group permission for role actually exists /// </summary> /// <param name="GroupPermissionForRole"></param> /// <returns></returns> public GroupPermissionForRole CheckExists(GroupPermissionForRole GroupPermissionForRole) { if (GroupPermissionForRole.Permission != null && GroupPermissionForRole.Group != null && GroupPermissionForRole.MembershipRole != null) { return(_context.GroupPermissionForRole .Include(x => x.MembershipRole) .Include(x => x.Group) .FirstOrDefault(x => x.Group.Id == GroupPermissionForRole.Group.Id && x.Permission.Id == GroupPermissionForRole.Permission.Id && x.MembershipRole.Id == GroupPermissionForRole.MembershipRole.Id)); } return(null); }
public void UpdatePermission(AjaxEditPermissionViewModel ajaxEditPermissionViewModel) { try { if (Request.IsAjaxRequest()) { if (ajaxEditPermissionViewModel.Group == Guid.Empty) { // If Group is empty guid then this is a global permission var gpr = new GlobalPermissionForRole { MembershipRole = _roleService.GetRole(ajaxEditPermissionViewModel.MembershipRole), Permission = _permissionService.Get(ajaxEditPermissionViewModel.Permission), IsTicked = ajaxEditPermissionViewModel.HasPermission }; _globalPermissionForRoleService.UpdateOrCreateNew(gpr); } else { // We have a Group so it's a Group permission var mappedItem = new GroupPermissionForRole { Group = _groupService.Get(ajaxEditPermissionViewModel.Group), MembershipRole = _roleService.GetRole(ajaxEditPermissionViewModel.MembershipRole), Permission = _permissionService.Get(ajaxEditPermissionViewModel.Permission), IsTicked = ajaxEditPermissionViewModel.HasPermission }; _groupPermissionForRoleService.UpdateOrCreateNew(mappedItem); } } Context.SaveChanges(); } catch (Exception ex) { Context.RollBack(); LoggingService.Error(ex); throw; } }
/// <summary> /// Add new Group permission for role /// </summary> /// <param name="GroupPermissionForRole"></param> public GroupPermissionForRole Add(GroupPermissionForRole GroupPermissionForRole) { return(_context.GroupPermissionForRole.Add(GroupPermissionForRole)); }
public void Delete(GroupPermissionForRole GroupPermissionForRole) { _context.GroupPermissionForRole.Remove(GroupPermissionForRole); }