public virtual ResponseResource RemoveDelegatedPermission(IPrincipal principal, RemoveDelegatedPermissionRequest request)
        {
            var delegatedPermission =
                _dependencies.StorageService.SetOf <DelegatedPermission>()
                .SingleOrDefault(x => x.Id == request.DelegatedPermissionId);

            if (delegatedPermission == null)
            {
                throw new Exception("Access Denied");
            }
            var member = GetGuaranteedMember(principal, delegatedPermission.Member.OrganisationId);

            if (member.Organisation.OrganisationLeader.LeaderMemberId != member.Id)
            {
                throw new Exception("Access Denied");
            }
            _dependencies.StorageService.SetOf <DelegatedPermission>().Remove(delegatedPermission);
            _dependencies.StorageService.SaveChanges();
            return(new ResponseResource());
        }
示例#2
0
 public HttpResponseMessage PostRemoveDelegatedPermission(RemoveDelegatedPermissionRequest request)
 {
     return(Request.CreateResponse(HttpStatusCode.OK, _service.RemoveDelegatedPermission(User, request)));
 }
示例#3
0
 public ResponseResource PostRemoveDelegatedPermission([FromBody] RemoveDelegatedPermissionRequest request)
 {
     return(_service.RemoveDelegatedPermission(User, request));
 }