Пример #1
0
            public virtual async Task <List <string> > GetAlreadyFilteredSpecOptionIds
                (IHttpContextAccessor httpContextAccessor, ISpecificationAttributeService specificationAttributeService)
            {
                var result = new List <string>();

                foreach (var item in httpContextAccessor.HttpContext.Request.Query)
                {
                    var spec = await specificationAttributeService.GetSpecificationAttributeBySeName(item.Key);

                    if (spec != null)
                    {
                        foreach (var value in item.Value)
                        {
                            foreach (var option in value.Split(","))
                            {
                                var opt = spec.SpecificationAttributeOptions.FirstOrDefault(x => x.SeName == option.ToLowerInvariant());
                                if (opt != null)
                                {
                                    if (!result.Contains(opt.Id))
                                    {
                                        result.Add(opt.Id);
                                    }
                                }
                            }
                        }
                    }
                }

                return(result);
            }