import { defineStore } from 'pinia'
import { useDataStore } from '@/stores/dataStore'
import { usePiyangoStore } from '../stores/piyangoStore'
import { usePiyangoOnayStore } from '../stores/piyangoOnayStore'
import { usePiyangoOnayValidationStore } from '../validation/piyangoOnayValidationStore'
import { useUsersStore } from '@/stores/usersStore'

export const usePiyangoOnayService = defineStore('piyangoOnayService', () => {
  const dataStore = useDataStore()
  const piyangoStore = usePiyangoStore()
  const piyangoOnayStore = usePiyangoOnayStore()
  const piyangoOnayValidationStore = usePiyangoOnayValidationStore()
  const usersStore = useUsersStore()

  const SaveOnayDurum = async () => {
    if (piyangoOnayValidationStore.FormCheck()) {
      piyangoOnayStore.loaded = false
      let form: any
      let dataForm = new FormData()
      dataForm.append(
        'onayDurumuIslemTipiId',
        piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId
      )
      dataForm.append('onayCekilisId', String(piyangoStore.selectedLottery))
      dataForm.append('kisiId', String(usersStore.userId))
      dataForm.append('file', piyangoOnayStore.piyangoOnayForm.file)
      dataForm.append('aciklama', piyangoOnayStore.piyangoOnayForm.aciklama)

      form = await dataStore.dataPost('OnayDurumu/', {
        data: dataForm,
        headers: { 'Content-Type': 'multipart/form-data' },
        toast: { toast: 'Onay durumu başarıyla kaydedildi', type: 'success' }
      })

      if (form !== 'errorfalse') {
        piyangoOnayValidationStore.formChanged = false
        piyangoStore.lotteryApprove =
          piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId
        piyangoOnayStore.refreshList = true
        piyangoOnayStore.ResetForm()
        setTimeout(() => {
          piyangoOnayStore.loaded = true
        }, 10)
      }
    } else {
      piyangoOnayValidationStore.isFormValid = true
    }
  }
  return { SaveOnayDurum }
})
