Beispiel #1
0
        public async Task <IActionResult> CreateActivation([DataSourceRequest] DataSourceRequest request, [FromQuery] int tenantId, [FromQuery] int featureId)
        {
            var model = new TenantFeatureActivation();

            if (ModelState.IsValid)
            {
                await this.TryUpdateModelAsync <FeatureActivationViewModel, TenantFeatureActivation>(model);

                model.TenantId  = tenantId;
                model.FeatureId = featureId;
                db.TenantFeatureActivations.Add(model);
                await db.SaveChangesAsync();
            }

            return(Json(await new[] { model.ToViewModel <TenantFeatureActivation, FeatureActivationViewModel>() }.ToDataSourceResultAsync(request, ModelState)));
        }
Beispiel #2
0
        protected virtual TenantFeatureActivation GetFeature(int tenantId, FeatureTemplateMarkup feature,
                                                             bool addIfMissing)
        {
            var nowU   = DateTime.UtcNow;
            var ftu    = db.Features.First(n => n.FeatureName == feature.FeatureName);
            var retVal = db.TenantFeatureActivations.FirstOrDefault(n =>
                                                                    n.TenantId == tenantId && (n.ActivationStart ?? nowU) <= nowU && (n.ActivationEnd ?? nowU) >= nowU);

            if (retVal == null && addIfMissing)
            {
                retVal = new TenantFeatureActivation
                {
                    TenantId  = tenantId,
                    FeatureId = ftu.FeatureId
                };

                db.TenantFeatureActivations.Add(retVal);
            }

            return(retVal);
        }
Beispiel #3
0
 protected virtual void RevokeFeature(int tenantId, TenantFeatureActivation feature)
 {
 }