protected function esFechaValida($fechaHora) { $horaEnviada = $fechaHora->format('H:i'); $dayOfWeek = $fechaHora->dayOfWeek; $dia = Dia::find($dayOfWeek); $horarios = $dia->Horarios()->get(); foreach ($horarios as $hora) { if ($hora->nombre == $horaEnviada) { //si no existe cita if (is_null(Cita::where('dia_id', '=', $dayOfWeek)->where('hora_id', '=', $hora->id)->first())) { return true; } } } return false; }
public function guardarCita(Request $request) { $cliente = $request->input('user_id'); $programa = $request->input('producto_id'); $fecha = Carbon::createFromFormat('Y-m-d', $request->input('fecha')); $horaId = $request->input('hora'); $hora = Horario::find($horaId); if (!is_null(Cita::where('dia_id', '=', $fecha->dayOfWeek)->where('hora_id', '=', $horaId)->first())) { return \Redirect::back()->with('error', 'Ya existe una cita para la fecha y hora seleccionada.'); } $cita = new Cita(); $cita->user_id = $cliente; $cita->producto_id = $programa; $cita->fecha = $request->input('fecha'); $cita->hora = $hora->nombre; $cita->dia_id = $fecha->dayOfWeek; $cita->creadaporadmin = 1; $cita->hora_id = $horaId; $cita->save(); return \Redirect::back()->with('message', 'La cita ha sido creada exitosamente.'); }
protected function esFechaValida($fecha, $horaId, $userId = null, $productoId = null) { $cita = Cita::where('fecha', '=', $fecha)->where('hora_id', '=', $horaId)->first(); if (is_null($cita)) { //no encontre cita return true; } else { //si encontre, ahora si llega userId y productoId, valido que la cita encontrada, no sea del mismo usuario y mismo producto if ($userId > 0 and $productoId > 0) { if ($cita->user_id == $userId and $cita->producto_id == $productoId) { return true; } else { return false; } } else { return false; } } }