public async Task <bool> UpdateFiles() { QueryResults = null; HitItems.Clear(); FileItems.Clear(); if (Group != null) { var api = IndexApiClient.Create(cts.Token); var results = await api.GetFiles(Group); if (results is FileInfo[] entries) { foreach (var entry in entries.OrderBy(x => x.Path.ToUpperInvariant())) { FileItems.Add(new FileItem(entry.Fid, entry.Path, entry.Size, !Unchecked.Contains(entry.Fid))); } return(true); } else { return(false); } } else { return(true); } }
public virtual void OnMessage(MessageEventArgs e) { switch (e.Name) { case Messages.StartLiveView: _frames = 0; _startTime = DateTime.Now; _liveViewTimer.Start(); break; case Messages.StopLiveView: _liveViewTimer.Stop(); break; case Messages.ShowMessage: MessageBox.Show(e.Param.ToString()); break; case Messages.SaveVariables: case Messages.SessionFinished: SaveVariables(e.Context.WorkFlow); break; case Messages.ThumbCreate: UpdateThumbAsync(); break; case Messages.NextPhoto: if (SelectedItem != null) { var i = FileItems.IndexOf(SelectedItem); i++; if (i < FileItems.Count) { SelectedItem = FileItems[i]; } } UpdateThumbAsync(); break; case Messages.PrevPhoto: if (SelectedItem != null) { var i = FileItems.IndexOf(SelectedItem); i--; if (i > -1) { SelectedItem = FileItems[i]; } } UpdateThumbAsync(); break; case Messages.DeletePhoto: { if (SelectedItem == null || FileItems.Count == 0) { return; } var i = FileItems.IndexOf(SelectedItem); SelectedItem.Clear(); FileItems.Remove(SelectedItem); if (i >= FileItems.Count) { i--; } if (i >= 0 && FileItems.Count > 0) { SelectedItem = FileItems[i]; } UpdateThumbAsync(); } break; case Messages.ClearPhotos: { foreach (var item in FileItems) { item.Clear(); } FileItems.Clear(); SelectedItem = null; UpdateThumbAsync(); break; } } Message?.Invoke(this, e); }