45 lines
1.1 KiB
Go
45 lines
1.1 KiB
Go
package antrianoperasi
|
|
|
|
import (
|
|
"log"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func (req CreatePasienOperasiRequest) DataValidation(c *gin.Context, handler AntrianOperasiHandler) (bool, []string) {
|
|
isValid := false
|
|
var errValidation []string
|
|
|
|
// validasi kategori
|
|
_, err := handler.repoKategori.GetKategoriById(c, req.RencanaOperasiData.KategoriOperasi)
|
|
if err != nil {
|
|
log.Println(err)
|
|
errValidation = append(errValidation, err.Error())
|
|
}
|
|
_, err = handler.repoSpesialis.GetSpesialisById(c, req.RencanaOperasiData.Spesialis)
|
|
if err != nil {
|
|
log.Println(err)
|
|
errValidation = append(errValidation, err.Error())
|
|
}
|
|
_, err = handler.repoSpesialis.GetSubSpesialisById(c, req.RencanaOperasiData.SubSpesialis)
|
|
if err != nil {
|
|
log.Println(err)
|
|
errValidation = append(errValidation, err.Error())
|
|
}
|
|
|
|
for _, dp := range req.DokterPelaksanaItems {
|
|
_, err := handler.repoDokter.GetDokterById(c, dp.Id)
|
|
if err != nil {
|
|
log.Println(err)
|
|
errValidation = append(errValidation, err.Error())
|
|
continue
|
|
}
|
|
}
|
|
|
|
if len(errValidation) == 0 {
|
|
isValid = true
|
|
}
|
|
|
|
return isValid, errValidation
|
|
}
|