schet/pkg/input/conf/conf.go

48 строки
730 Б
Go

package conf
import (
"io"
"my/schet/pkg/schet"
"os"
"github.com/yosuke-furukawa/json5/encoding/json5"
)
type Conf struct {
path string
config *Config
год *schet.Год
}
func NewConf(path string) *Conf {
c := &Conf{
config: NewConfig(),
path: path,
}
return c
}
func (c *Conf) Считать() error {
f, err := os.Open(c.path)
if err != nil {
return err
}
defer f.Close()
data, err := io.ReadAll(f)
if err != nil {
return err
}
return json5.Unmarshal(data, c.config)
}
func (c *Conf) Загрузить(год *schet.Год) error {
c.год = год
for _, d := range c.config.Доходы {
c.год.ДобавитьДоход(d.Сумма, d.Квартал)
}
return nil
}