Files
simrsx-be/internal/use-case/main-use-case/internal-reference/helper.go
2025-11-10 13:25:00 +07:00

42 lines
1.0 KiB
Go

/*
DESCRIPTION:
Any functions that are used internally by the use-case
*/
package internal_reference
import (
ir "simrs-vx/internal/domain/main-entities/internal-reference"
erc "simrs-vx/internal/domain/references/common"
)
func setData[T *ir.CreateDto | *ir.UpdateDto](input T, data *ir.InternalReference) {
var inputSrc *ir.CreateDto
if inputT, ok := any(input).(*ir.CreateDto); ok {
inputSrc = inputT
} else {
inputTemp := any(input).(*ir.UpdateDto)
inputSrc = &inputTemp.CreateDto
}
data.Encounter_Id = inputSrc.Encounter_Id
data.Unit_Code = inputSrc.Unit_Code
data.Doctor_Code = inputSrc.Doctor_Code
data.Status_Code = &inputSrc.Status_Code
}
func setBulkData(input []ir.CreateDto, encounterId uint) []ir.InternalReference {
var data []ir.InternalReference
for _, v := range input {
statusCode := erc.DACNew
data = append(data, ir.InternalReference{
Encounter_Id: &encounterId,
Unit_Code: v.Unit_Code,
Doctor_Code: v.Doctor_Code,
Status_Code: &statusCode,
})
}
return data
}