Beispiel #1
0
        /// <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));
            }
        }
Beispiel #2
0
        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);
        }