public ResponseResource UpdateRule(IPrincipal principal, UpdateMembershipRuleRequest request)
        {
            var user        = _dependencies.UserService.GetAuthenticatedUser(principal);
            var rule        = GetMembershipRule(request.MembershipRuleId);
            var permissions = _dependencies.OrganisationService.GetMemberPermissions(user, rule);

            if (!permissions.Contains(ShurahOrganisationPermission.EditMembershipRules.ToString()))
            {
                return(new ResponseResource {
                    HasError = true, Error = "Access Denied!"
                });
            }
            rule.RuleStatement = request.Rule;
            _dependencies.StorageService.SaveChanges();
            return(new ResponseResource());
        }
 public ResponseResource Post(UpdateMembershipRuleRequest request)
 {
     return(_service.UpdateRule(User, request));
 }
예제 #3
0
 public HttpResponseMessage Post(UpdateMembershipRuleRequest request)
 {
     return(Request.CreateResponse(HttpStatusCode.OK, _service.UpdateRule(User, request)));
 }