package controllers

import (
    "github.com/revel/revel"
    "github.com/revolvingcow/grassfed/app/models"
)

type Home struct {
    Application
}

func (c Home) getNumberOfAccounts() (count int64) {
    count, err := c.Transaction.SelectInt(`select count(*) from Account`)
    if err != nil {
        return 0
    }

    return count
}

func (c Home) getNumberOfCalories() (calories int64) {
    calories, err := c.Transaction.SelectInt(`select sum(Calories) from History`)
    if err != nil {
        return 0
    }

    return calories
}

func (c Home) Index() revel.Result {
	return c.Render()
}

func (c Home) About() revel.Result {
    return c.Render()
}

func (c Home) Overview() revel.Result {
    model := models.Overview {
        Accounts: c.getNumberOfAccounts(),
        Calories: c.getNumberOfCalories(),
    }

    return c.RenderJson(model)
}