<?php
defined('BASEPATH') or exit('No direct script access allowed');

class Konsumsi extends REST_Controller
{

    public function __construct()
    {
        parent::__construct();
        // $this->load->model("ModelAuth");
        $this->load->model("ModelKonsumsi");
    }

    public function konsumketer_get($id_user, $waktu, $keterangan)
    {
        $this->load->model('ModelKonsumsi');
        $data_join = $this->ModelKonsumsi->getketer($id_user, $waktu, $keterangan);

        $id_user = $this->post($data_join['id_user']);
        $waktu = $this->post($data_join['waktu']);
        $keterangan = $this->post($data_join['keterangan']);

        $data = array(
            'id_user' => $id_user,
            'waktu' => date($waktu),
            'keterangan' => $keterangan,
        );
        $message = array(
            'status' => 200,
            'message' => "Coba Berhasil"
        );
        $this->response(array('response' => $data, 'message' => $message));
    }
    // $this->db->select('*');
    // $this->db->from('konsumsi');
    // $this->db->join('bahan_makanan', 'konsumsi. = bahan_makanan.');
    // //$data = $this->db->get("konsumsi");
    // $id_user = $this->get('id_user');
    // $waktu = $this->get('waktu');
    // $nama_makanan = $this->get('nama_makanan');
    // $besaran = $this->get('besaran');
    // $id_detail = $this->get('id_detail');
    // $id_konsumsi = $this->get('id_konsumsi');
    // $id_makanan = $this->get('id_makanan');
    // $kuantitas = $this->get('kuantitas');
    // $kategori = $this->get('kategori');
    // $urt = $this->get('urt');
    // $energi = $this->get('energi');
    // $karbohidrat = $this->get('karbohidrat');
    // $protein = $this->get('protein');
    // $lemak = $this->get('lemak');
    // $besi = $this->get('besi');
    // $vitamina = $this->get('vitamina');
    // $vitaminc = $this->get('vitaminc');

    // $data = array(
    //     'id_user' => $id_user,
    //     'waktu' => $waktu,
    //     'nama_makanan'=> $nama_makanan,
    //     'besaran'=> $besaran,
    //     'id_detail'=> $id_detail,
    //     'id_konsumsi'=> $id_konsumsi,
    //     'id_makanan'=> $id_makanan,
    //     'kuantitas'=> $kuantitas,
    //     'kategori'=> $kategori,
    //     'urt'=> $urt,
    //     'energi'=> $energi,
    //     'karbohidrat'=> $karbohidrat,
    //     'protein' => $protein,
    //     'lemak'=> $lemak,
    //     'besi' => $besi,
    //     'vitamina'=> $vitamina,
    //     'vitaminc'=> $vitaminc,
    // );


    public function joinkonsum($id_user)
    {
        $this->db->select('nama_makanan');
        $this->db->from('bahan_makanan');
        $this->db->join('konsumsi_detail', 'bahan_makanan.id_makanan = konsumsi_detail.id_makanan');
        $this->db->join('konsumsi', 'konsumsi_detail.id_konsumsi = konsumsi.idkonsumsi');

        $this->db->where('konsumsi.user_id_user', $id_user);
        // Execute the query and get the result
        $query = $this->db->get();

        // Check if there are rows in the result
        if ($query->num_rows() > 0) {
            // Return the result as an array of objects
            return $query->result();
        } else {
            // Return an empty array if no rows found
            return array();
        }
    }

    public function Konsumsi_post()
    {
        $id_user = $this->post("id_user");
        $total_kalori = $this->post("total_kalori");
        $keterangan = $this->post("keterangan");
        $kmakanan = $this->post("bahan_makanan_nama_makanan"); // Ambil data dari input "bahan_makanan_nama_makanan" sebagai array
        $kuantitas = $this->post("kuantitas");

        $data = array(
            'waktu' => date("Y-m-d"),
            'create_on' => date("Y-m-d H:i:s"),
            'total_kalori' => $total_kalori,
            'keterangan' => $keterangan,
            'user_id_user' => $id_user,
        );

        if ($this->db->insert('konsumsi', $data)) {
            $insert_id = $this->db->insert_id();
            // Ubah string JSON menjadi array
            // $kmakanan = json_decode($kmakanan);
            // $kuantitas = json_decode($kuantitas);
            // Iterate through the array of bahan_makanan_nama_makanan and insert them into konsumsi_detail
            if (count($kmakanan) === count($kuantitas)) {
                for ($i = 0; $i < count($kmakanan); $i++) {
                    $makanan_id = $kmakanan[$i];
                    $quantities = $kuantitas[$i];

                    $data2 = array(
                        'id_makanan' => $makanan_id,
                        'kuantitas' => $quantities,
                        'id_konsumsi' => $insert_id
                    );
                    $this->db->insert('konsumsi_detail', $data2);
                }


                $response = array(
                    'field' => 'id konsumsi detail',
                    'message' => 'Data berhasil disimpan.'
                );

                $result = $this->joinkonsum($id_user);
                $response = array(
                    'field' => 'id konsumsi',
                    'message' => 'Bisa kan sekarang' //$makanan_id // Ini akan menjadi makanan_id terakhir dalam loop, periksa apakah itu sesuai dengan kebutuhan Anda.
                );
            } else {
                $response = array(
                    'status' => 400,
                    'message' => 'Jumlah elemen dalam kmakanan dan kuantitas tidak sesuai.'
                );
            }
        } else {
            $response = array(
                'status' => 500,
                'message' => "INTERNAL_SERVER_ERROR"
            );
        }

        $status_response = array(
            'status' => 200,
            'message' => "OK"
        );

        $final_response = array("response" => $response, "message" => $status_response);
        $this->response($final_response);
    }
}
