package core

import (
	"fmt"
	"net/http"
)

type defaultController struct{}
type defaultBillController struct{}

var defaultCtrl = new(defaultController)
var defaultBill = new(defaultBillController)

func (d *defaultController) Get(args *ElementHandleArgs) {

	if args.Render.Template().Lookup(args.Element.Controller.Name) != nil {
		args.HTML()
	} else {
		args.RenderMessage(fmt.Sprintf("can't found the view:%s", args.Element.Controller.Name))
	}
}
func (d *defaultController) Post(p *ElementHandleArgs) {
	LOG.Panic(fmt.Errorf("can't found the controller [%s] post process handle", p.Element.Controller.Name))
}
func (d *defaultController) Delete(p *ElementHandleArgs) {
	LOG.Panic(fmt.Errorf("can't found the controller [%s] delete process handle", p.Element.Controller.Name))
}

func (d *defaultBillController) Get(args *BillGetHandleArgs) {
	if args.Render.Template().Lookup(args.Element.Controller.Name) != nil {
		args.HTML()
	} else {
		args.Render.HTML(http.StatusOK, "DefaultBill", args, "_layout/bill_normal")
	}
}
func (d *defaultBillController) Post(p *BillPostHandleArgs) {
	p.Process()
}
func (d *defaultBillController) Delete(p *BillDeleteHandleArgs) {
	p.Remove()
}
