<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Sewa;
use Carbon\Carbon;

class ReportController extends Controller
{
    public function transactions(Request $request)
    {
        // Ambil data transaksi (sewa yang sudah selesai atau dikonfirmasi)
        $query = Sewa::with('user', 'paket')
            ->whereIn('status', ['confirmed', 'completed']); // Asumsi 'confirmed' dan 'completed' adalah status yang relevan untuk laporan transaksi

        // Filter berdasarkan tanggal jika ada
        if ($request->has('start_date') && $request->has('end_date')) {
            $startDate = Carbon::parse($request->input('start_date'))->startOfDay();
            $endDate = Carbon::parse($request->input('end_date'))->endOfDay();
            $query->whereBetween('created_at', [$startDate, $endDate]);
        }

        $transactions = $query->latest()->paginate(10); // Paginate hasilnya

        return view('admin.reports.transactions', compact('transactions', 'request'));
    }

    public function updateStatus($id)
    {
        $sewa = Sewa::findOrFail($id);
        $sewa->status = 'completed';
        $sewa->save();

        return redirect()->route('admin.reports.transactions')
            ->with('success', 'Status transaksi berhasil diperbarui menjadi completed');
    }
} 