private static IEnumerable <CountLink> GetCountLinks( Expression query, IEnumerable <DataModelIssue> issues, Repository repo) { if (query is ExpressionMultiRepo) { query = ((ExpressionMultiRepo)query).GetExpression(repo); } if (query is ExpressionOr) { foreach (Expression expr in ((ExpressionOr)query).Expressions) { yield return(CountLink.Create(expr, issues, repo)); } } else if (query == ExpressionConstant.False) { // Filter out repo entirely } else { yield return(CountLink.Create(query, issues, repo)); } }
public ActionResult Create(CountLink link) { try { if (link.Name == null || link.Count < 1) { link.Name = Tools.LinkGenerate(context); } if (!Tools.Unique(context, link.Name)) { return(RedirectToAction(nameof(Create))); } context.CountLinks.Add(link); context.SaveChanges(); return(RedirectToAction(nameof(Index))); } catch { return(RedirectToAction(nameof(Create))); } }