コード例 #1
0
        public Either <Error, Success> DenyRolePermissions(DtoLinkRolePermissions link)
        {
            var dbQuery   = _appContext.RolePermissions.AsQueryable();
            var foundUser = dbQuery.FirstOrDefault(x => x.Id == link.RoleId) ?? Left <Error, RolePermission>(Error.NotFoundRecord);

            var result = foundUser.Bind(rolePermission =>
            {
                _appContext.RolePermissions.Remove(rolePermission);
                var t = _appContext.TrySaveChanges().Bind <Success>(_ => Success.ItsSuccess);
                return(t);
            });

            return(result);
        }
コード例 #2
0
        public Either <Error, Success> AllowRolePermissions(DtoLinkRolePermissions link)
        {
            var result = _appContext.Roles.FindEither(link.RoleId).Bind(
                role =>
            {
                link.PermissionIds.Select(permission => _appContext.Permissions.Find <Permission>(permission)).Select(
                    permission =>
                {
                    RolePermission.Create(permission, role).Bind <EntityEntry <RolePermission> >(x => _appContext.RolePermissions.Add(x));
                    return(Right <Error, Permission>(permission));
                });
                var t = _appContext.TrySaveChanges().Bind <Success>(_ => Success.ItsSuccess);
                return(t);
            });

            return(result);
        }
コード例 #3
0
        /// <inheritdoc />
        public Either <Error, Success> DenyRolePermissions(DtoLinkRolePermissions linkRolePermissions)
        {
            var result = _userService.DenyRolePermissions(linkRolePermissions);

            return(result);
        }