package form

import (
	"fmt"
	"net/http"
	"strconv"
	"time"
)

type Month struct {
	Name  string
	Year  int
	Month time.Month
	Error error
}

func (input *Month) FillValue(r *http.Request) {
	if year, err := strconv.Atoi(r.FormValue(input.Name + ".year")); err == nil {
		input.Year = year
	} else {
		fmt.Println(err, r.FormValue(input.Name+".year"))
	}
	if month, err := strconv.Atoi(r.FormValue(input.Name + ".month")); err == nil && month > 0 && month < 13 {
		input.Month = time.Month(month)
	} else {
		fmt.Println(err, r.FormValue(input.Name+".month"))
	}
}

func (input *Month) Date() time.Time {
	return time.Date(input.Year, input.Month, 1, 0, 0, 0, 0, time.UTC)
}
