protected virtual PermissionResult CanDelete(TModel value) { var orgModel = value as IOwnedByOrganization; if (orgModel != null && !IsInOrganization(orgModel.OrganizationId)) { return(PermissionResult.DenyWithResult(NotFound())); } return(PermissionResult.Allow); }
protected virtual PermissionResult CanUpdate(TModel original, Delta <TUpdateModel> changes) { var orgModel = original as IOwnedByOrganization; if (orgModel != null && !IsInOrganization(orgModel.OrganizationId)) { return(PermissionResult.DenyWithResult(BadRequest("Invalid organization id specified."))); } return(PermissionResult.Allow); }
protected override PermissionResult CanAdd(Project value) { if (String.IsNullOrEmpty(value.Name)) { return(PermissionResult.DenyWithResult(BadRequest("Project name is required."))); } if (!_billingManager.CanAddProject(value)) { return(PermissionResult.DenyWithResult(PlanLimitReached("Please upgrade your plan to add additional projects."))); } return(base.CanAdd(value)); }
protected override PermissionResult CanAdd(Organization value) { if (String.IsNullOrEmpty(value.Name)) { return(PermissionResult.DenyWithResult(BadRequest("Organization name is required."))); } if (!_billingManager.CanAddOrganization(ExceptionlessUser)) { return(PermissionResult.DenyWithResult(PlanLimitReached("Please upgrade your plan to add an additional organization."))); } return(base.CanAdd(value)); }
protected virtual PermissionResult CanAdd(TModel value) { var orgModel = value as IOwnedByOrganization; if (_isOrganization || orgModel == null) { return(PermissionResult.Allow); } if (!IsInOrganization(orgModel.OrganizationId)) { return(PermissionResult.DenyWithResult(BadRequest("Invalid organization id specified."))); } return(PermissionResult.Allow); }
protected override PermissionResult CanDelete(Organization value) { if (!String.IsNullOrEmpty(value.StripeCustomerId) && User.IsInRole(AuthorizationRoles.GlobalAdmin)) { return(PermissionResult.DenyWithResult(BadRequest("An organization cannot be deleted if it has a subscription."))); } List <Project> projects = _projectRepository.GetByOrganizationId(value.Id).ToList(); if (!User.IsInRole(AuthorizationRoles.GlobalAdmin) && projects.Any()) { return(PermissionResult.DenyWithResult(BadRequest("An organization cannot be deleted if it contains any projects."))); } return(base.CanDelete(value)); }