<?php

namespace App\Models;

use Carbon\Carbon;
use Spatie\Translatable\HasTranslations;
use Yajny\Traits\SelectTranslations;

class GenericCentral extends Central
{
    use HasTranslations, SelectTranslations;

    private function convertDateTimeTimezone($date, $fromTz, $toTz)
    {
        return Carbon::createFromFormat('Y-m-d H:i:s', $date, $fromTz)->timezone($toTz)->toDateTimeString();
    }

    public function getLocalStartAttribute()
    {
        return ($this->start) ? $this->convertDateTimeTimezone($this->start, 'UTC', 'Africa/Cairo') : null;
    }

    public function getLocalEndAttribute()
    {
        return ($this->end) ? $this->convertDateTimeTimezone($this->end, 'UTC', 'Africa/Cairo') : null;
    }

    public function setLocalStartAttribute($value)
    {
        $this->attributes['start'] = $this->convertDateTimeTimezone($value, 'Africa/Cairo', 'UTC');
    }

    public function setLocalEndAttribute($value)
    {
        $this->attributes['end'] = $this->convertDateTimeTimezone($value, 'Africa/Cairo', 'UTC');
    }

}