IListModel.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using InABox.Core;
  5. namespace InABox.Mobile
  6. {
  7. public interface IListModel : IModel
  8. {
  9. object CreateItem();
  10. void CommitItem(object item);
  11. object AddItem();
  12. void DeleteItem(object item);
  13. IEnumerable Items { get; }
  14. void Search();
  15. }
  16. public class ListModelItemCreatedArgs<TShell> : EventArgs
  17. {
  18. public TShell Item { get; private set; }
  19. public ListModelItemCreatedArgs(TShell item)
  20. {
  21. Item = item;
  22. }
  23. }
  24. public delegate void ListModelItemCreatedEvent<TShell>(object sender, ListModelItemCreatedArgs<TShell> args);
  25. public interface IListModel<TModel, TShell, TEntity> : IListModel
  26. where TModel : IListModel
  27. where TEntity : Entity, IRemotable, IPersistent, new()
  28. where TShell : Shell<TModel,TEntity>, new()
  29. {
  30. //IList<TShell> Items { get; set; }
  31. event ListModelItemCreatedEvent<TShell> ItemAdded;
  32. }
  33. }