public async Task <bool> CheckIfEnabled(string featureName, int id = 0) { PremiumFeatures premiumFeatures = await this.GetPremiumFeatures(id); bool isEnabled = (bool)typeof(PremiumFeatures).GetProperty(featureName).GetValue(premiumFeatures); return(isEnabled); }
public async Task ToggleFeature(string featureName, int id = 0) { PremiumFeatures premiumFeatures = await this.GetPremiumFeatures(id); bool isEnabled = (bool)typeof(PremiumFeatures).GetProperty(featureName).GetValue(premiumFeatures); typeof(PremiumFeatures).GetProperty(featureName).SetValue(premiumFeatures, !isEnabled); await this.context.SaveChangesAsync(); }
public async Task <PremiumFeatures> GetPremiumFeatures(int id = 0) { if (id == 0) { id = (await this.heroService.GetHero()).PremiumFeaturesId; } PremiumFeatures premiumFeatures = await this.context.PremiumFeatures.FindAsync(id); return(premiumFeatures); }
void fillPremiumAccountFeatures() { premiumFeatures = new List <ListItem <string> >(); PremiumFeatures.Add(new ListItem <string>(EnumLocalizer.Default.GetGUIString("Feature_PremiumAccount_CreateExercises"), null)); PremiumFeatures.Add(new ListItem <string>(EnumLocalizer.Default.GetGUIString("Feature_PremiumAccount_CreateWorkoutPlans"), null)); PremiumFeatures.Add(new ListItem <string>(EnumLocalizer.Default.GetGUIString("Feature_PremiumAccount_AccessSupplementsCycleDefinitions"), null)); PremiumFeatures.Add(new ListItem <string>(EnumLocalizer.Default.GetGUIString("Feature_PremiumAccount_CreateSupplementsDefinitions"), null)); PremiumFeatures.Add(new ListItem <string>(EnumLocalizer.Default.GetGUIString("Feature_PremiumAccount_MyTrainings"), null)); PremiumFeatures.Add(new ListItem <string>(EnumLocalizer.Default.GetGUIString("Feature_PremiumAccount_EntriesInFuture"), null)); PremiumFeatures.Add(new ListItem <string>(EnumLocalizer.Default.GetGUIString("Feature_PremiumAccount_Reminders"), null)); PremiumFeatures.Add(new ListItem <string>(EnumLocalizer.Default.GetGUIString("Feature_PremiumAccount_Privacy"), null)); PremiumFeatures.Add(new ListItem <string>(EnumLocalizer.Default.GetGUIString("Feature_PremiumAccount_Printing"), null)); PremiumFeatures.Add(new ListItem <string>(EnumLocalizer.Default.GetGUIString("Feature_PremiumAccount_MyPlaces"), null)); PremiumFeatures.Add(new ListItem <string>(EnumLocalizer.Default.GetGUIString("Feature_PremiumAccount_DoneWay"), null)); PremiumFeatures.Add(new ListItem <string>(EnumLocalizer.Default.GetGUIString("Feature_PremiumAccount_Timer"), null)); PremiumFeatures.Add(new ListItem <string>(EnumLocalizer.Default.GetGUIString("Feature_PremiumAccount_Reports"), null)); PremiumFeatures.Add(new ListItem <string>(EnumLocalizer.Default.GetGUIString("Feature_PremiumAccount_AdvancedStrengthTraining"), null)); }