/** * Store a newly created resource in storage. * * @return Response */ public function store(Business $business, Request $request) { $this->log->info("BusinessServiceController: store: businessId:{$business->id}"); $dates = $request->get('vacancy'); $success = false; foreach ($dates as $date => $vacancy) { foreach ($vacancy as $serviceId => $capacity) { switch (trim($capacity)) { case '': // Dont update, leave as is $this->log->info("BusinessServiceController: store: [ADVICE] Blank vacancy capacity value businessId:{$business->id}"); break; default: $start_at = Carbon::parse($date . ' ' . $business->pref('start_at'))->timezone($business->timezone); $finish_at = Carbon::parse($date . ' ' . $business->pref('finish_at', '20:00:00'))->timezone($business->timezone); $vacancy = Vacancy::updateOrCreate(['business_id' => $business->id, 'service_id' => $serviceId, 'date' => $date], ['capacity' => intval($capacity), 'start_at' => $start_at, 'finish_at' => $finish_at]); $success = true; break; } } } if ($success) { Flash::success(trans('manager.vacancies.msg.store.success')); return redirect()->route('manager.business.show', [$business]); } $this->log->info("BusinessServiceController: store: [ADVICE] Nothing to update businessId:{$business->id}"); Flash::warning(trans('manager.vacancies.msg.store.nothing_changed')); return redirect()->back(); }