/* DESCRIPTION: Any functions that are used internally by the use-case */ package medication import ( e "simrs-vx/internal/domain/main-entities/medication" // emi "simrs-vx/internal/domain/main-entities/medication-item" // emid "simrs-vx/internal/domain/main-entities/medication-item-dist" // umi "simrs-vx/internal/use-case/main-use-case/medication-item" // umid "simrs-vx/internal/use-case/main-use-case/medication-item-dist" ) func setData[T *e.CreateDto | *e.UpdateDto](input T, data *e.Medication) { var inputSrc *e.CreateDto if inputT, ok := any(input).(*e.CreateDto); ok { inputSrc = inputT } else { inputTemp := any(input).(*e.UpdateDto) inputSrc = &inputTemp.CreateDto } data.Encounter_Id = inputSrc.Encounter_Id data.IssuedAt = inputSrc.IssuedAt data.Pharmacist_Id = inputSrc.Pharmacist_Id data.Status_Code = inputSrc.Status_Code } // func createMedicationItemDist(medication_id *uint, event *pl.Event, dbx ...*gorm.DB) error { // pl.SetLogInfo(event, nil, "started", "createMedicationItemDist") // var tx *gorm.DB // if len(dbx) > 0 { // tx = dbx[0] // } else { // tx = dg.I // } // filterMI := emi.ReadListDto{FilterDto: emi.FilterDto{Medication_Id: medication_id, IsRedeemed: true}} // medicationItemList, _, err := umi.ReadListData(filterMI, event, tx) // if err != nil { // return err // } // for _, medicationItem := range medicationItemList { // midCreate := emid.CreateDto{ // MedicationItem_Id: &medicationItem.Id, // DateTime: medicationItem.MedicationItem.DateTime, // Remain: medicationItem.MedicationItem.Remain, // Nurse_Id: medicationItem.MedicationItem.Nurse_Id, // } // if err := umid.Create(midCreate); err != nil { // return err // } // } // pl.SetLogInfo(event, nil, "complete") // return nil // }