public IEnumerable<ISecurity> GetDataAll()
        {
            string filePath = PathHelper.SecurityFile;

            List<SecurityItem> result = new List<SecurityItem>();
            if (File.Exists(filePath))
            {
                var file = new SecurityFile(filePath);
                result.AddRange(file.ReadAll().Distinct());
            }

            return result.Cast<ISecurity>();
        }
        public IEnumerable<ISecurity> GetData(IEnumerable<string> stockCodes)
        {
            string filePath = PathHelper.SecurityFile;
            if (File.Exists(filePath))
            {
                var file = new SecurityFile(filePath);
                var lstSel = from it in file.ReadAll().Distinct()
                             where stockCodes.Contains(it.Code)
                             select it;
                return lstSel.Cast<ISecurity>();
            }

            return null;
        }
        public ISecurity GetData(string stockCode)
        {
            string filePath = PathHelper.SecurityFile;

            if (File.Exists(filePath))
            {
                var file = new SecurityFile(filePath);
                var lstAll = file.ReadAll().Distinct();
                var it = lstAll.SingleOrDefault(x => x.Code == stockCode);

                if (string.IsNullOrEmpty(it.Code.Trim()))
                    return null;

                return it;
            }

            return null;
        }