public Category GetCategoryByID(string categoryid) { var cacheList = GetCategorys(); if (cacheList.Where(m => m.CategoryID.ToLower() == categoryid.ToLower()).Count() > 0) { return cacheList.Where(m => m.CategoryID.ToLower() == categoryid.ToLower()).FirstOrDefault(); } var dal = new ProductsDAL(); DataTable dt = dal.GetCategoryByID(categoryid); Category model = new Category(); if (dt.Rows.Count > 0) { model.FillData(dt.Rows[0]); model.ChildCategory = new List<Category>(); CacheCategory.Add(model); } return model; }