ICoreRepository.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using System.Collections;
  2. using System.Collections.ObjectModel;
  3. using System.ComponentModel;
  4. using InABox.Core;
  5. namespace InABox.Avalonia
  6. {
  7. public class CoreRepositoryChangedEventArgs : EventArgs
  8. {
  9. }
  10. public delegate void CoreRepositoryChangedEvent(object sender, CoreRepositoryChangedEventArgs args);
  11. public interface ICoreRepository : INotifyPropertyChanged, IEnumerable
  12. {
  13. //IColumns GetColumns();
  14. IEnumerable AvailableFilters { get; }
  15. void SelectFilter(string? name);
  16. bool FiltersVisible { get; }
  17. byte[]? GetImageSource(Guid id);
  18. bool HasImages();
  19. bool Loaded { get; }
  20. ICoreRepository Refresh(bool force);
  21. Task<ICoreRepository> RefreshAsync(bool force);
  22. void Refresh(bool force, Action loaded);
  23. void Save(string auditMessage);
  24. Task SaveAsync(string auditMessage);
  25. DateTime LastUpdated { get; }
  26. event CoreRepositoryChangedEvent Changed;
  27. IModelHost Host { get; }
  28. object CreateItem();
  29. void CommitItem(object item);
  30. bool HasItem(object item);
  31. object AddItem();
  32. void DeleteItem(object item);
  33. IEnumerable Items { get; }
  34. int ItemCount { get; }
  35. ICoreRepository Search();
  36. ICoreRepository Search(Func<object,bool> predicate);
  37. void ToggleSelection(object item);
  38. void SelectItem(object item);
  39. void UnselectItem(object item);
  40. void SelectAll();
  41. void SelectNone();
  42. bool IsSelected(object item);
  43. void SetSelectedItems(IEnumerable<object> items);
  44. IEnumerable SelectedItems { get; }
  45. }
  46. }