using System; using System.Collections; using System.Collections.Generic; using InABox.Core; namespace InABox.Mobile { public interface IListModel : IModel { object CreateItem(); void CommitItem(object item); object AddItem(); void DeleteItem(object item); IEnumerable Items { get; } void Search(); } public class ListModelItemCreatedArgs : EventArgs { public TShell Item { get; private set; } public ListModelItemCreatedArgs(TShell item) { Item = item; } } public delegate void ListModelItemCreatedEvent(object sender, ListModelItemCreatedArgs args); public interface IListModel : IListModel where TModel : IListModel where TEntity : Entity, IRemotable, IPersistent, new() where TShell : Shell, new() { //IList Items { get; set; } event ListModelItemCreatedEvent ItemAdded; } }