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); }
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)); }