package notification

import (
	"context"
	"fmt"

	params "git.gocasts.ir/ebhomengo/niki/param"
	bnfparam "git.gocasts.ir/ebhomengo/niki/param/admin/benefactor"
	kbparam "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box_req"
	smsmsg "git.gocasts.ir/ebhomengo/niki/pkg/sms_msg"
)

func (s Service) KindBoxReqRejected(req params.NotificationKindBoxReqRejected) {
	const op = "notification.KindBoxReqRejected"

	ctx := context.Background()
	kb, err := s.KindBoxReqSvc.Get(ctx, kbparam.GetKindBoxReqRequest{
		KindBoxID: req.KindBoxReqID,
	})
	if err != nil {
		fmt.Println(fmt.Errorf("error(%s):%w", op, err))
	}
	bnf, gErr := s.BenefactorSvc.GetByID(ctx, bnfparam.GetBenefactorByIDRequest{BenefactorID: kb.Data.BenefactorID})
	if gErr != nil {
		fmt.Println(fmt.Errorf("error(%s):%w", op, gErr))
	}
	s.smsAdapter.Send(bnf.Data.PhoneNumber, fmt.Sprintf(smsmsg.SmsMsgKindBoxReqRejected, bnf.Data.FirstName, req.Description))
}
