ICoreRepository.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Linq.Expressions;
  6. using Xamarin.Forms;
  7. namespace InABox.Mobile
  8. {
  9. public class CoreRepositoryChangedEventArgs : EventArgs
  10. {
  11. }
  12. public delegate void CoreRepositoryChangedEvent(object sender, CoreRepositoryChangedEventArgs args);
  13. public interface ICoreRepository : INotifyPropertyChanged
  14. {
  15. //IColumns GetColumns();
  16. ImageSource GetImageSource(Guid id);
  17. bool HasImages();
  18. bool Loaded { get; }
  19. ICoreRepository Refresh(bool force);
  20. void Refresh(bool force, Action loaded);
  21. DateTime LastUpdated { get; }
  22. event CoreRepositoryChangedEvent Changed;
  23. IModelHost Host { get; }
  24. object CreateItem();
  25. void CommitItem(object item);
  26. object AddItem();
  27. void DeleteItem(object item);
  28. IEnumerable Items { get; }
  29. ICoreRepository Search();
  30. ICoreRepository Search(Func<object,bool> predicate);
  31. void ToggleSelection(object item);
  32. void SelectItem(object item);
  33. void UnselectItem(object item);
  34. void SelectAll();
  35. void SelectNone();
  36. bool IsSelected(object item);
  37. void SetSelectedItems(IEnumerable<object> items);
  38. IEnumerable SelectedItems { get; }
  39. }
  40. }