using System.Collections.Generic; namespace TINK.Model.Bike { public interface IBikeDictionary<T> : IReadOnlyCollection<T> { /// <summary> /// Gets a bike by its id. /// </summary> /// <param name="id"></param> /// <returns></returns> T GetById(string id); /// <summary> /// Deteermines whether a bike by given key exists. /// </summary> /// <param name="p_strKey">Key to check.</param> /// <returns>True if bike exists.</returns> bool ContainsKey(string id); } public interface IBikeDictionaryMutable<T> : IBikeDictionary<T> { /// <summary> /// Removes a bike by its id. /// </summary> /// <param name="id">Id of bike to be removed.</param> void RemoveById(string id); /// <summary> /// Adds a new element to dictinary. /// </summary> /// <param name="newElement">New element to add.</param> void Add(T newElement); } }