<?php

class DiskusiRespon extends \Phalcon\Mvc\Model
{
    /**
     * @var string
     */
    public $title;
    /**
     * @var int
     */
    public $id_diskusi;
    /**
     * @var int
     */
    public $id_komentar_pertama;
    /**
     * @var int
     */
    public $id_sektor;
    /**
     * @var string
     */
    public $created_diskusi;
    /**
     * @var false|string
     */
    public $created_komentar;
    /**
     * @var string
     */
    public $selisih;

    public function initialize()
    {
        $this->setSchema('jaga');
        $this->setSource('diskusi_respon');
        $this->belongsTo('id_sektor', 'KategoriDiskusi', 'id', ["alias" => "kategori"]);
    }

    public function toArray($columns = null)
    {
        $result = parent::toArray($columns);

        $result['kategori'] = $this->kategori->produk->nama;

        return $result;
    }

    public static function saveResponByDiskusiAndKomentar(Diskusi $diskusi, DiskusiComment $comment) {
        $diskusiRespon = DiskusiRespon::findFirstByIdDiskusi($diskusi->id);
        if (empty($diskusiRespon)) {
            $diskusi_date = new DateTime($diskusi->created_at);
            $komentar_date = new DateTime($comment->created_at);
            $selisih = $diskusi_date->diff($komentar_date);
            $interval = $selisih->y . ' tahun, ' . $selisih->m . ' bulan, ' . $selisih->d . ' hari, ' . $selisih->h . ' jam, ' . $selisih->i . ' menit, ' . $selisih->s . ' detik';

            $setDiskusiRespon = new DiskusiRespon();
            $setDiskusiRespon->title = $diskusi->title;
            $setDiskusiRespon->id_diskusi = $diskusi->id;
            $setDiskusiRespon->id_komentar_pertama = $comment->id;
            $setDiskusiRespon->id_sektor = $diskusi->kategori_diskusi_id;
            $setDiskusiRespon->created_diskusi = $diskusi->created_at;
            $setDiskusiRespon->created_komentar = $comment->created_at;
            $setDiskusiRespon->selisih = $interval;
            $setDiskusiRespon->save();
        } elseif (empty($diskusiRespon->id_komentar_pertama)) {
            $diskusi_date = new DateTime($diskusiRespon->created_diskusi);
            $komentar_date = new DateTime($comment->created_at);
            $selisih = $diskusi_date->diff($komentar_date);
            $interval = $selisih->y . ' tahun, ' . $selisih->m . ' bulan, ' . $selisih->d . ' hari, ' . $selisih->h . ' jam, ' . $selisih->i . ' menit, ' . $selisih->s . ' detik';

            $diskusiRespon->id_komentar_pertama = $comment->id;
            $diskusiRespon->created_komentar = $comment->created_at;
            $diskusiRespon->selisih = $interval;
            $diskusiRespon->save();
        }
    }
}
