Esempio n. 1
0
 private List <WindowStatus> GetOpenWindows()
 {
     return(_componentRegistry.GetComponents <IWindow>()
            .Where(w => w.GetState().Has(WindowState.Open))
            .Select(w => new WindowStatus {
         Id = w.Id, Caption = _settingsService.GetComponentSettings <ComponentSettings>(w.Id).Caption
     }).ToList());
 }
Esempio n. 2
0
        private void IdentifyComponents(string input)
        {
            foreach (var component in _componentRegistry.GetComponents())
            {
                var componentSettings = _settingsService.GetComponentSettings <ComponentSettings>(component.Id);

                if (IsCaptionOrKeywordMatch(input, componentSettings.Caption, componentSettings.Keywords))
                {
                    _currentContext.IdentifiedComponentIds.Add(component.Id);
                }
            }
        }
Esempio n. 3
0
        private string GetWindowStatus()
        {
            var allWindows  = _componentsRegistry.GetComponents <IWindow>();
            var openWindows = allWindows.Where(w => !w.GetState().Has(WindowState.Closed)).ToList();

            string response;

            if (!openWindows.Any())
            {
                response = $"{Emoji.Lock} Ich habe nachgesehen. Alle Fenster sind geschlossen.";
            }
            else
            {
                response  = $"{Emoji.Unlock} Ich habe nachgesehen. Die folgenden Fenster sind noch (ganz oder auf Kipp) geöffnet:\r\n";
                response += string.Join(global::System.Environment.NewLine, openWindows.Select(w => "- " + w.Id));
            }

            return(response);
        }