void IDistributedEventHandler.Raised(IDistributedEvent distributedEvent)
        {
            if (distributedEvent.Name != TenantRestartEventName)
            {
                return;
            }

            var shellSettings = !string.IsNullOrEmpty(distributedEvent.Context) ? ShellSettingsSerializer.ParseSettings(distributedEvent.Context) : _shellSettings;

            shellSettings["IsShellRestart"] = "True";
            _shellSettingsEvents.Saved(shellSettings);
        }
 private IEnumerable <ShellSettings> LoadSettingsInternal()
 {
     foreach (var folder in _fileSystem.ListFolders(null))
     {
         foreach (var file in _fileSystem.ListFiles(folder.GetPath()))
         {
             if (!String.Equals(file.GetName(), Constants.ShellSettingsFileName))
             {
                 continue;
             }
             using (var stream = file.OpenRead()) {
                 using (var reader = new StreamReader(stream))
                     yield return(ShellSettingsSerializer.ParseSettings(reader.ReadToEnd()));
             }
         }
     }
 }