Esempio n. 1
0
        public async Task <IEnumerable <FNameViewModel> > GetFiltersByCategoryId(string id)
        {
            IQueryable <Product> query_pr = id != null && id.Length > 0 ? db.Products.Where(pr => pr.CategoryId.ToString() == id) : db.Products;
            var query = query_pr.SelectMany(pr_f => pr_f.Filters)
                        .Select(pr_f => new
            {
                FNameId  = pr_f.FilterNameId,
                FName    = pr_f.FilterNameOf.Name,
                FValueId = pr_f.FilterValueId,
                FValue   = pr_f.FilterValueOf.Name
            }).AsEnumerable();

            var groups = query.GroupBy(filter => (new { Id = filter.FNameId, Name = filter.FName }))
                         .OrderBy(x => x.Key.Name);

            var result = await Task.Run(() =>
            {
                List <FNameViewModel> FilterList = new List <FNameViewModel>();

                foreach (var filterName in groups)
                {
                    FNameViewModel node = new FNameViewModel
                    {
                        Id   = filterName.Key.Id,
                        Name = filterName.Key.Name
                    };

                    var groupingF = filterName
                                    .GroupBy(f => new { Id = f.FValueId, Name = f.FValue })
                                    .Select(f => f.Key)
                                    .OrderBy(f => f.Name);

                    node.Childrens = groupingF.Select(f => new FValueViewItem {
                        Id = f.Id, Name = f.Name
                    }).ToList();
                    FilterList.Add(node);
                }
                return(FilterList.ToList());
            });

            return(result);
        }
Esempio n. 2
0
        private List <FNameViewModel> GetListFilters()
        {
            var query = from f in _context.VFilterNameGroups.AsQueryable()
                        where f.FilterValueId != null
                        select new
            {
                FNameId  = f.FilterNameId,
                FName    = f.FilterName,
                FValueId = f.FilterValueId,
                FValue   = f.FilterValue
            };
            var groupNames = from f in query
                             group f by new
            {
                Id   = f.FNameId,
                Name = f.FName
            } into g
            orderby g.Key.Name
            select g;
            List <FNameViewModel> listGroupFilters = new List <FNameViewModel>();

            //listGroupFilters =
            foreach (var filterName in groupNames)
            {
                FNameViewModel fName = new FNameViewModel
                {
                    Id   = filterName.Key.Id,
                    Name = filterName.Key.Name
                };

                fName.Children = (from v in filterName
                                  group v by new FValueViewModel
                {
                    Id = v.FValueId,
                    Name = v.FValue
                } into g
                                  select g.Key).ToList();

                listGroupFilters.Add(fName);
            }
            return(listGroupFilters);
        }
Esempio n. 3
0
        private IEnumerable <FNameViewModel> GetFilters()
        {
            var query = db.VFilterNameGroups
                        .AsQueryable()
                        .Where(filter => filter.FilterValueId != null)
                        .Select(filter => new
            {
                FNameId  = filter.FilterNameId,
                FName    = filter.FilterName,
                FValueId = filter.FilterValueId,
                FValue   = filter.FilterValue
            }).AsEnumerable();

            var groupNames = query.GroupBy(filter => (new { Id = filter.FNameId, Name = filter.FName }))
                             .OrderBy(x => x.Key.Name);

            List <FNameViewModel> FilterList = new List <FNameViewModel>();

            foreach (var filterName in groupNames)
            {
                FNameViewModel node = new FNameViewModel
                {
                    Id   = filterName.Key.Id,
                    Name = filterName.Key.Name
                };

                node.Childrens = filterName
                                 .GroupBy(f => new FValueViewItem {
                    Id = f.FValueId, Name = f.FValue
                })
                                 .Select(f => f.Key)
                                 .ToList();

                FilterList.Add(node);
            }

            return(FilterList);
        }
        public string Update(FNameViewModel filter)
        {
            var http = (HttpWebRequest)WebRequest.Create(new Uri(_url));

            http.Accept      = "application/json";
            http.ContentType = "application/json";
            http.Method      = "PUT";

            string       parsedContent = JsonConvert.SerializeObject(filter);
            UTF8Encoding encoding      = new UTF8Encoding();

            Byte[] bytes     = encoding.GetBytes(parsedContent);
            Stream newStream = http.GetRequestStream();

            newStream.Write(bytes, 0, bytes.Length);
            newStream.Close();

            var response = http.GetResponse();
            var stream   = response.GetResponseStream();
            var sr       = new StreamReader(stream);
            var content  = sr.ReadToEnd();

            return(content.ToString());
        }
 public Task <string> UpdateAsync(FNameViewModel filter)
 {
     return(Task.Run(() => Update(filter)));
 }