<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\{Ticket,RenglonTicket,Estados};

class ComprasController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index(Request $request)
    {
        $data = $request->all();
        $compras=null;
        $bandera=true;

        if (count($data) > 0) {
            if ($data['estado']==-1&&$data['referencia']==null&&$data['fecha_inicio']==null&&$data['fecha_fin']==null) {
                $compras=Ticket::all();

            }else {
            
                if ($data['estado']!=-1) {
                    $compras=Ticket::where('estado_id',$data['estado']);
                    $bandera=false;
                }
                if ($data['referencia']!=null) {
                    if ($bandera) {
                        $compras=Ticket::where('referencia','like','%'.$data['referencia'].'%');
                        $bandera=false;
                    }else {
                        $compras=$compras->where('referencia','like','%'.$data['referencia'].'%');
                    }
                }
                if ($data['fecha_inicio']!=null) {
                    if ($bandera) {
                        $compras=Ticket::where('created_at','>=',$data['fecha_inicio']);
                        $bandera=false;
                    }else {
                        $compras=$compras->where('created_at','>=',$data['fecha_inicio']);
                    }
                }
                if ($data['fecha_fin']!=null) {
                    if ($bandera) {
                        $compras=Ticket::where('created_at','<=',$data['fecha_fin']);
                        $bandera=false;
                    }else {
                        $compras=$compras->where('created_at','<=',$data['fecha_fin']);
                    }
                }
                $compras=$compras->get();
        }
        }else{
            $compras=Ticket::where('estado_id',2)->orwhere('estado_id',3)->orwhere('estado_id',4)->get();
        }
        $estados=Estados::all();
        return view('admin.compras.listar',compact('compras','data','estados'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
    public function detallesCompra($id){
        $ticket=Ticket::where('id',$id)->with('renglonTicket.renProducto')->with('estadoCompra')->with('renglonTicket.renEstados')->first();
        return view('admin.compras.listarDetalles',compact('ticket'));
    }
    public function entregarArticuloCompra($id){
        $renglon=RenglonTicket::where('id',$id)->first();
        $renglon->estado_id=1;
        $renglon->save();
        return response()->json([
            'estado'=>'success',
            'mensaje'=>'Artículo entregado.',

          ]);

    }
}
