public function validarFechaSeleccionada(Request $request) { $fecha = $request->input('nuevaFecha'); $horario = Horario::find($request->input('hora_cita')); $hora = $horario->nombre; $fechaCarbon = Carbon::createFromFormat("Y-m-d H:i", $fecha . " " . $hora); $cita = Cita::whereFecha($fecha)->whereHora($hora)->first(); if ($fechaCarbon->isPast() or $fechaCarbon->isToday()) { $respuesta = ["code" => 1, "msg" => "La fecha seleccionada ya ha pasado, seleccione una a futuro."]; } elseif ($fechaCarbon->isTomorrow()) { $respuesta = ["code" => 1, "msg" => "La fecha seleccionada tiene que ser después del día de mañana."]; } elseif (is_null($cita)) { $respuesta = ["code" => 0, "msg" => "La cita ha sido agendada exitosamente."]; //Aqui agregar la cita $dia_cita = $fechaCarbon->dayOfWeek; $hora_cita = $request->input('hora_cita'); $cita = new Cita(); $cita->user_id = Auth::user()->id; $cita->producto_id = $request->input('producto_id'); $cita->fecha = $request->input('nuevaFecha'); $cita->hora = $hora; $cita->dia_id = $dia_cita; $cita->hora_id = $hora_cita; $cita->save(); //ponemos el producto configurado. $productoUser = Producto::find($request->input('producto_id'))->Usuarios()->updateExistingPivot(Auth::user()->id, array('configurado' => 2)); } else { $respuesta = ["code" => 1, "msg" => "La fecha seleccionada no se encuentra disponible."]; } return response()->json($respuesta); }
public function buscarCitasProximas() { $date = Carbon::now()->addDays(3); $citas_1 = Cita::whereFecha($date->toDateString())->get(); foreach ($citas_1 as $cita_1) { $user = User::find($cita_1->user_id); $producto = Producto::find($cita_1->producto_id); $this->sendFirstAppointmentReminder($user, $producto, $cita_1); } $tomorrow = Carbon::now()->tomorrow(); $citas = Cita::whereFecha($tomorrow->toDateString())->get(); foreach ($citas as $cita) { $user = User::find($cita->user_id); $producto = Producto::find($cita->producto_id); $this->sendAppointmentReminder($user, $producto, $cita); } Log::info('Se corrio cron para envio de recordatorios.'); }