コード例 #1
0
        public ResponseResource DeleteTermDefinition(IPrincipal principal, DeleteTermDefinitionRequest request)
        {
            var user = _dependencies.UserService.GetGuaranteedAuthenticatedUser(principal);
            var term =
                _dependencies.StorageService.SetOf <MembershipRuleTermDefinition>()
                .SingleOrDefault(t => t.Id == request.TermId);

            if (term == null)
            {
                throw new Exception("Term not found");
            }

            var organisation = _dependencies.OrganisationService.GetOrganisation(term.OrganisationId);

            _dependencies.OrganisationService.GuaranteeUserHasPermission(user, organisation, ShurahOrganisationPermission.EditMembershipRules);
            _dependencies.StorageService.SetOf <MembershipRuleTermDefinition>().Remove(term);

            _dependencies.StorageService.SaveChanges();
            return(new ResponseResource());
        }
コード例 #2
0
 public HttpResponseMessage Post(DeleteTermDefinitionRequest request)
 {
     return(Request.CreateResponse(HttpStatusCode.OK, _service.DeleteTermDefinition(User, request)));
 }
コード例 #3
0
 public ResponseResource Post(DeleteTermDefinitionRequest request)
 {
     return(_service.DeleteTermDefinition(User, request));
 }