public List <KeyValuePair <string, TableStyleInfo> > GetAllTableStyles() { var pairs = new List <KeyValuePair <string, TableStyleInfo> >(); var allItemsDict = DataProvider.TableStyleItemDao.GetAllTableStyleItems(); using (var rdr = ExecuteReader(SqlSelectAllTableStyle)) { while (rdr.Read()) { var styleInfo = GetTableStyleInfoByReader(rdr); allItemsDict.TryGetValue(styleInfo.Id, out var items); styleInfo.StyleItems = items; var key = TableStyleManager.GetKey(styleInfo.RelatedIdentity, styleInfo.TableName, styleInfo.AttributeName); if (pairs.All(pair => pair.Key != key)) { var pair = new KeyValuePair <string, TableStyleInfo>(key, styleInfo); pairs.Add(pair); } } rdr.Close(); } return(pairs); }