public ResponseResource CreateRule(IPrincipal principal, CreateMembershipRuleRequest request) { var user = _dependencies.UserService.GetAuthenticatedUser(principal); var ruleSection = _dependencies.MembershipRuleSectionService.GetMembershipRuleSection(request.MembershipRuleSectionId); var permissions = _dependencies.OrganisationService.GetMemberPermissions(user, ruleSection); if (!permissions.Contains(ShurahOrganisationPermission.EditMembershipRules.ToString())) { return(new ResponseResource { HasError = true, Error = "Access Denied!" }); } var rule = new MembershipRule(); _dependencies.StorageService.SetOf <MembershipRule>().Add(rule); rule.MembershipRuleSection = ruleSection; rule.RuleStatement = request.Rule; rule.MembershipRuleSectionId = ruleSection.Id; rule.Sequence = ruleSection.MembershipRules.Count + 2; rule.PublishedDateTimeUtc = DateTime.UtcNow; _dependencies.StorageService.SaveChanges(); return(new ResponseResource()); }
public ResponseResource Post(CreateMembershipRuleRequest request) { return(_service.CreateRule(User, request)); }
public HttpResponseMessage Post(CreateMembershipRuleRequest request) { return(Request.CreateResponse(HttpStatusCode.OK, _service.CreateRule(User, request))); }