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));
            }
        }
Ejemplo n.º 2
0
 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)));
     }
 }