using System; using Shared; namespace Model { public interface IDataManager { IChampionsManager ChampionsMgr { get; } ISkinsManager SkinsMgr { get; } IRunesManager RunesMgr { get; } IRunePagesManager RunePagesMgr { get; } } public interface IChampionsManager : IGenericDataManager { Task GetNbItemsByCharacteristic(string charName); Task> GetItemsByCharacteristic(string charName, int index, int count, string? orderingPropertyName = null, bool descending = false); Task GetNbItemsByClass(ChampionClass championClass); Task> GetItemsByClass(ChampionClass championClass, int index, int count, string? orderingPropertyName = null, bool descending = false); Task GetNbItemsBySkill(Skill? skill); Task> GetItemsBySkill(Skill? skill, int index, int count, string? orderingPropertyName = null, bool descending = false); Task GetNbItemsByRunePage(RunePage? runePage); Task> GetItemsByRunePage(RunePage? runePage, int index, int count, string? orderingPropertyName = null, bool descending = false); Task GetNbItemsBySkill(string skill); Task> GetItemsBySkill(string skill, int index, int count, string? orderingPropertyName = null, bool descending = false); } public interface ISkinsManager : IGenericDataManager { Task GetNbItemsByChampion(Champion? champion); Task> GetItemsByChampion(Champion? champion, int index, int count, string? orderingPropertyName = null, bool descending = false); } public interface IRunesManager : IGenericDataManager { Task GetNbItemsByFamily(RuneFamily family); Task> GetItemsByFamily(RuneFamily family, int index, int count, string? orderingPropertyName = null, bool descending = false); } public interface IRunePagesManager : IGenericDataManager { Task GetNbItemsByRune(Rune? rune); Task> GetItemsByRune(Rune? rune, int index, int count, string? orderingPropertyName = null, bool descending = false); Task GetNbItemsByChampion(Champion? champion); Task> GetItemsByChampion(Champion? champion, int index, int count, string? orderingPropertyName = null, bool descending = false); } }