示例#1
0
        public List <Snippet> FilterSnippets(FilterSnippetsInput input)
        {
            var query = db.Snippets.AsQueryable();

            if (input.SelectedGroups != null && input.SelectedGroups.Any())
            {
                query = query.Where(x => x.Groups.Any(y => input.SelectedGroups.Contains(y.ID)));
            }

            if (input.SelectedOperations != null && input.SelectedOperations.Any())
            {
                query = query.Where(x => x.Operations.Any(y => input.SelectedOperations.Contains(y.OperationID)));
            }

            var result = query.Select(x => new
            {
                x.Question,
                x.Code,
                x.ID
            }).ToList();

            List <Snippet> filteredSnippets = result.Select(x => new Snippet
            {
                Question = x.Question,
                Code     = x.Code,
                ID       = x.ID
            }).ToList();

            return(filteredSnippets);
        }
示例#2
0
        public ActionResult FilterSnippets(FilterSnippetsInput filterData, string view)
        {
            var snippets = _snippetService.FilterSnippets(filterData);
            ListSnippetsPartialViewModel vm = new ListSnippetsPartialViewModel
            {
                Snippets = snippets
            };

            if (!string.IsNullOrEmpty(filterData.selectedSnippets))
            {
                List <int> selectedSnippets = filterData.selectedSnippets.Split(',').Select(Int32.Parse).ToList();
                vm.Snippets = vm.Snippets.Where(x => !selectedSnippets.Contains(x.ID)).ToList();
            }

            if (view == "snippets")
            {
                vm.SnippetsButtons  = true;
                vm.SpanSizeSnippets = "span9";
                vm.SpanSizeArea     = "span12";
            }
            else if (view == "CreateEvent")
            {
                vm.SnippetsButtons  = false;
                vm.SpanSizeSnippets = "span6";
                vm.SpanSizeArea     = "span6";
                vm.DivName          = "snippets";
            }
            return(PartialView("_ListSnippets", vm));
        }