Esempio n. 1
0
        public virtual ActionResult ProgramLiability()
        {
            if (String.IsNullOrEmpty(Request["tqx"]))
            {
                return(View());
            }

            var budgets = Accounts.Where(x => x.Type).Eq(AccountType.Program);
            // var programs = Programs

            var t = new GoogleVisualizationTable()
                    .AddColumn <string>("account", "Account", null)
                    .AddColumn <int>("budget-limit", "Budget Limit", "{0:n0}")
                    .AddColumn <int>("budget-interval", "Budget Refresh Interval", null)
                    .AddColumn <DateTime>("budget-last", "Last Budget Refresh", "{0:d}")
                    .AddColumn <DateTime>("budget-next", "Next Budget Refresh", "{0:d}")
                    .AddColumn <int>("balance", "Balance", "{0:n0}");

            foreach (var b in budgets)
            {
                var l = Accounting.GetLedger(b);
                t.AddRow(
                    b.Name,
                    b.Budget == null ? null : b.Budget.RefreshLimit,
                    b.Budget == null ? "" : b.Budget.RefreshInterval.ToString(),
                    b.Budget == null ? null : b.Budget.LastRefreshed,
                    b.Budget == null ? null : b.Budget.NextRefresh,
                    l.Balance

                    );
            }

            var r = new GoogleVisualizationResult(Request);

            r.Response.Table = t;
            return(r);
        }