protected SpecificationAttributeOptionFilterCollection getNotFilteredSpecs()
        {
            //get all
            SpecificationAttributeOptionFilterCollection result = SpecificationAttributeManager.GetSpecificationAttributeOptionFilter(this.CategoryID);

            //remove already filtered
            SpecificationAttributeOptionFilterCollection alreadyFilteredOptions = getAlreadyFilteredSpecs();

            foreach (SpecificationAttributeOptionFilter saof1 in alreadyFilteredOptions)
            {
                var query = from s
                            in result
                            where s.SpecificationAttributeID == saof1.SpecificationAttributeID
                            select s;

                List <SpecificationAttributeOptionFilter> toRemove = query.ToList();

                foreach (SpecificationAttributeOptionFilter saof2 in toRemove)
                {
                    result.Remove(saof2);
                }
            }

            result.RemoveAll(x => excludeFilteredOptions.Contains(x.SpecificationAttributeName.ToLower()));
            result.Sort(new SpecificationAttributeOptionFilterComparer());
            return(result);
        }
        protected List <SpecificationAttributeOptionFilter> getNotFilteredSpecs()
        {
            //get all
            var result = SpecificationAttributeManager.GetSpecificationAttributeOptionFilter(this.CategoryId);

            //remove already filtered
            var alreadyFilteredOptions = getAlreadyFilteredSpecs();

            foreach (var saof1 in alreadyFilteredOptions)
            {
                var query = from s
                            in result
                            where s.SpecificationAttributeId == saof1.SpecificationAttributeId
                            select s;

                List <SpecificationAttributeOptionFilter> toRemove = query.ToList();

                foreach (var saof2 in toRemove)
                {
                    result.Remove(saof2);
                }
            }
            return(result);
        }