import { defineStore } from 'pinia'
import { useDataStore } from '@/stores/dataStore'
import { usePiyangoStore } from '../stores/piyangoStore'
import { usePiyangoMecraStore } from '../stores/piyangoMecraStore'
import { usePiyangoMecraValidationStore } from '../validation/piyangoMecraValidationStore'

export const usePiyangoMecraService = defineStore('piyangoMecraService', () => {
  const dataStore = useDataStore()
  const piyangoStore = usePiyangoStore()
  const piyangoMecraStore = usePiyangoMecraStore()
  const piyangoMecraValidationStore = usePiyangoMecraValidationStore()

  const GetAllMecralar = async () => {
    let data: Record<string, any> | any = await dataStore.dataGet(
      'Mecra/Cekilis/' + piyangoStore.selectedLottery + '?pageNumber=0'
    )

    if (data !== 'errorfalse') {
      piyangoMecraStore.piyangoAllMecraData = data.data
    }
  }

  const SaveMecra = async () => {
    if (piyangoMecraValidationStore.FormCheck()) {
      let dt: any
      dataStore.panelData.yayinlanacagiTarih = new Date(
        dataStore.panelData.yayinlanacagiTarih
      )
      if (!piyangoMecraStore.isUpdate) {
        piyangoMecraStore.piyangoMecraForm.cekilisId = piyangoStore.selectedLottery
        dt = await dataStore.dataPost('Mecra', {
          data: piyangoMecraStore.piyangoMecraForm
        })
      } else {
        dt = await dataStore.dataPut('Mecra/' + piyangoMecraStore.piyangoMecraForm.id, {
          data: piyangoMecraStore.piyangoMecraForm
        })
      }
      if (dt !== 'errorfalse') {
        piyangoMecraStore.refreshList = true
        piyangoMecraStore.isUpdate = false
        piyangoMecraStore.mecraPanel = false
      }
    } else {
      piyangoMecraValidationStore.isFormValid = true
    }
  }

  return { GetAllMecralar, SaveMecra }
})
