/// <summary> /// Get statistics about subscriptions /// </summary> /// <returns>View with graphs and info</returns> public IActionResult Stats() { using (var context = new OverstagContext()) { var events = context.Events.Include(f => f.Participators).OrderBy(f => f.When).ToList(); List <SSubEvent> sse = new List <SSubEvent>(); foreach (var e in events) { List <SSub> subs = new List <SSub>(); foreach (var s in e.Participators) { SSub sssb = new SSub { account = context.Accounts.First(f => f.Id == s.UserID), part = s }; if (sssb.account.Type == 0) { subs.Add(sssb); } } sse.Add(new SSubEvent() { Event = e, Sub = subs.OrderBy(f => f.account.Lastname).ToList() }); } return(View(sse)); } }
static SExpr ParseAddExpr(ParseContext context) { var lhs = ParseMulExpr(context); while ((context.TokenData.Type == TokenType.PLS) || (context.TokenData.Type == TokenType.MNS)) { var type = context.TokenData.Type; context.NextToken(); var rhs = ParseMulExpr(context); if (type == TokenType.PLS) { lhs = new SAdd(lhs, rhs); break; } else if (type == TokenType.MNS) { lhs = new SSub(lhs, rhs); break; } } return(lhs); }