package timetask // import "fmt" // type Client struct { // ID int // Name string // Projects []Project // } // type Project struct { // ID int // Name string // Modules []Module // Tasks []Task // WorkTypes []WorkType `yaml:"work_types"` // } type Project struct { Client int Project int Module int Task int WorkType int Time int Billable bool } // type Module struct { // ID int // Name string // } // type Task struct { // ID int // Name string // } // type WorkType struct { // ID int // Name string // } // // type Fields struct { // PersonID int `yaml:"person_id"` // Clients []Client // } // // func (f *Fields) ClientByName(client_name string) (*Client, error) { // for _, client := range f.Clients { // if client.Name == client_name { // return &client, nil // } // } // // return nil, fmt.Errorf("Client %s not found", client_name) // } // // func (c *Client) ProjectByName(project_name string) (*Project, error) { // for _, project := range c.Projects { // if project.Name == project_name { // return &project, nil // } // } // // return nil, fmt.Errorf("Project %s not found", project_name) // } // // func (p *Project) ModuleByName(module_name string) (*Module, error) { // for _, module := range p.Modules { // if module.Name == module_name { // return &module, nil // } // } // // return nil, fmt.Errorf("Module %s not found", module_name) // } // // func (p *Project) TaskByName(task_name string) (*Task, error) { // for _, task := range p.Tasks { // if task.Name == task_name { // return &task, nil // } // } // // return nil, fmt.Errorf("Task %s not found", task_name) // } // // func (p *Project) WorkTypeByName(work_type_name string) (*WorkType, error) { // for _, work_type := range p.WorkTypes { // if work_type.Name == work_type_name { // return &work_type, nil // } // } // // return nil, fmt.Errorf("Work type %s not found", work_type_name) // }