protected BusinessItem(string name, T value, BusinessData parent, PermissionFeature feature) : base(name, parent) { this._feature = feature; this._value = value; this.IsAttribute = true; }
internal static BusinessItem <T> Create <T>(string name, T value, PermissionFeature feature, BusinessRecord parent) { if (feature == PermissionFeature.ReadOnly) { return(new ReadOnlyBusinessItem <T>(name, value, parent, false)); } else if (feature == PermissionFeature.Sound) { return(new TransactionalBusinessItem <T>(name, value, parent)); } else if (feature == PermissionFeature.Key) { return(new ReadOnlyBusinessItem <T>(name, value, parent, true)); } else if (feature == PermissionFeature.Dumb) { return(new DumpBusinessItem <T>(name, value, parent)); } else if (feature == PermissionFeature.AlwaysSound) { return(new AlwaysSoundItem <T>(name, value, parent)); } else { throw new NotSupportedException(string.Format("{0} is not a supported ChangeItemFeature", feature)); } }
public static PermissionSet Permissions(this HttpContext httpContext) { var feature = httpContext.Features.Get <PermissionFeature>(); if (feature == null) { feature = new PermissionFeature(httpContext.User.Permissions()); httpContext.Features.Set(feature); } return(feature.Permissions); }
protected BusinessItem <T> CreateItem <T>(string name, T value, PermissionFeature permission) { return(BusinessItemFactory.Create(name, value, permission, _parent)); }
protected SoundBusinessItemBase(string name, T value, BusinessData parent, PermissionFeature feature) : base(name, value, parent, feature) { }
protected BusinessItem <T> CreateBusinessItem <T>(string name, T value, PermissionFeature feature = PermissionFeature.ReadOnly) { return(BusinessItemFactory.Create(name, value, feature, this)); }