private async void ReloadContainers() { if (_lastUpdated == DateTime.MinValue || DateTime.UtcNow - _lastUpdated > UpdateInterval) { try { IReadOnlyCollection <DockerContainer> containers = await _presenter.GetAllContainersAsync(); containersList.Items.Clear(); foreach (DockerContainer container in containers) { containersList.Items.Add( new ListViewItem(new string[] { container.ShortId, container.Name, container.Image, container.Created.ToString(), container.State, container.Status }) { Tag = container, BackColor = GetContainerStateColor(container) }); } foreach (ColumnHeader header in containersList.Columns) { header.Width = -2; } _lastUpdated = DateTime.UtcNow; } catch (Exception ex) { this.Handle(ex); } } UpdateLastUpdatedLabel(); await Task.Delay(TimeSpan.FromSeconds(1)); ReloadContainers(); }
private async void ReloadContainersAsync(string substring = null) { try { IReadOnlyCollection <DockerContainer> containers = await _presenter.GetAllContainersAsync(); if (!string.IsNullOrEmpty(substring)) { containers = containers .Where(c => c.Name.IndexOf(substring, StringComparison.OrdinalIgnoreCase) != -1) .ToList(); } containersList.Items.Clear(); foreach (DockerContainer container in containers) { containersList.Items.Add( new ListViewItem(new string[] { container.ShortId, container.Name, container.Image, container.Created.ToString(), container.State, container.Status }) { Tag = container, BackColor = GetContainerStateColor(container) }); } foreach (ColumnHeader header in containersList.Columns) { header.Width = -2; } } catch (Exception ex) { this.Handle(ex); } }