using System.Collections.Generic; using System.Linq; namespace BingoBrain { public abstract class BingoBrainConfigModel where T : BingoBrainConfigData { protected internal List dataList; public BingoBrainConfigModel() { } public void SetDataList(List data) { dataList = data; } public BingoBrainConfigModel(List data) { dataList = data; } public int GetCount() { return dataList?.Count ?? 0; } public T GetFirst() { return dataList?.FirstOrDefault(); } public T GetLast() { return dataList?.LastOrDefault(); } public T GetData(int id) { foreach (var item in dataList) { if (item.id == id) return item; } return dataList[0]; } public T GetData(string key) { return dataList?.FirstOrDefault(t => t.key == key); } public T GetDataByIndex(int index) { return dataList?.ElementAtOrDefault(index); } public List GetDataList() { return dataList; } } }