private void Update(string serviceName, string userName, string machineName, string feature, int priority, bool enabled) { using (var repositories = _repositoryContextFactory.Get()) { var featureToggleRepository = repositories.FeatureToggle; var featureToggle = featureToggleRepository.GetAll().FirstOrDefault(e => e.ServiceName == serviceName && e.UserName == userName && e.MachineName == machineName && e.Feature == feature); if (featureToggle == null) { featureToggle = new Entity.FeatureToggle { ServiceName = serviceName, UserName = userName, MachineName = machineName, Feature = feature, Enabled = enabled, Priority = priority }; _logger.Information("FeatureToggle added {@FeatureToggle}", featureToggle); featureToggleRepository.Add(featureToggle); } else { featureToggle.Enabled = enabled; featureToggle.Priority = priority; _logger.Information("FeatureToggle updated {@FeatureToggle}", featureToggle); } repositories.Save(); } _messageBus.Publish(FeatureToggleConfig.FeatureToggleChanged, new FeatureToggleChanged { Feature = feature }); }
public void Add(Entity.FeatureToggle featureToggle) { _entities.FeatureToggle.Add(featureToggle); }