<?php

namespace App\Http\Controllers;
use App\Producto;
use App\TipoSocio;
use App\Bonificacion;
use App\Combo;
use App\ComboTipoSocio;
use App\ComboProducto;
use App\ListaPrecios;

use Illuminate\Http\Request;

class CombosController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        //
        $combos=Combo::with('tipo_socio')
                    ->get();
        return view('combos.lista',compact('combos'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
        $tiposSocios=TipoSocio::all();
        $productos=Producto::all();
        $bonificaciones=Bonificacion::all();
        $listas=ListaPrecios::all();
        return view('combos.nuevo',compact('tiposSocios','productos','bonificaciones','listas'));
    }

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

        $fecha_inicio= date_format(date_create($request->fecha_inicio),"Y/m/d");
        $fecha_final= date_format(date_create($request->fecha_final),"Y/m/d");
        //Crear nuevo combo
        $combo = new Combo();
        $combo->nombre = $request->nombre;
        $combo->eva = $request->eva;
        $combo->fecha_inicio = $fecha_inicio;
        $combo->fecha_final = $fecha_final;
        $combo->status = $request->status;
        $combo->save();

        if($combo->id){
            //Asignacion de tipos de socios
            foreach($request->tipo_socio as $socio){
                $comboTipoSocio = new ComboTipoSocio();
                $comboTipoSocio->id_combo = $combo->id;
                $comboTipoSocio->id_tipo_socio = $socio;
                $comboTipoSocio->save();
            }

            $i=0;
            while(isset($request->id_producto[$i])){
                $comboProducto = new ComboProducto();
                $comboProducto->id_combo = $combo->id;
                $comboProducto->id_producto = $request->id_producto[$i];
                $comboProducto->id_bonificacion = $request->id_bonificacion[$i];
                $comboProducto->cantidad = $request->cantidad[$i];
                $comboProducto->precio = $request->precio[$i];
                $comboProducto->subtotal = $request->subtotal[$i];
                $comboProducto->save();
                $i++;
            }
            $arrResponse = [
                'message' => 'Lista de precios guardada correctamente'
            ];
            return redirect()->route('marketing.combos')->with($arrResponse);
        }
        $arrResponse = [
            'message' => 'Error no se guardado correctamente'
        ];
        return redirect()->route('marketing.combos')->with($arrResponse);
    }

    /**
     * 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)
    {
        //
    }
}
