/** * Handle the event. * * @param MerchantsWasCreated $event * @return void */ public function handle(MerchantsWasCreated $event) { $event->request->merge(array('merchant_id' => $event->merchant_id, 'outlet_no' => md5($event->merchant_id))); $restaurant = $this->restaurant->create($event->request->all()); $this->outlet->create($event->request->all()); foreach ($event->request->cuisine_id as $key => $value) { $this->restaurantCuisineInterface->create(['restaurant_id' => $restaurant->id, 'cuisine_id' => $value]); } return true; }
/** * Display merchant profile page. * * @return View */ public function index() { $merchant_id = Auth::user()->id; $restaurant = $this->restaurant->getByAttributes(['merchant_id' => $merchant_id], false); $selected_cuisines = $this->restaurantCuisine->getByAttributesWithRelations(['restaurant_id' => $restaurant->id], ['cuisine'])->toArray(); $cuisines_id = array_map(function ($structure) { return $structure['cuisine']['id']; }, $selected_cuisines); $data = array('merchant' => $this->merchant->getById($merchant_id), 'restaurant' => $restaurant, 'snapshot' => $this->snapshot->getByAttributes(['merchant_id' => $merchant_id]), 'outlet' => $this->outlet->getByAttributes(['merchant_id' => $merchant_id, 'main' => 1], false), 'outlets' => $this->outlet->getByAttributes(['merchant_id' => $merchant_id, 'main' => 0]), 'restaurant_cuisine' => $selected_cuisines, 'cuisines' => $this->cuisine->getAll(), 'cuisines_id' => $cuisines_id); return view('merchant.profile', $data); }
/** * Delete an merchant profile outlet. * * @param integer $id * @return Redirect */ public function destroy($id) { if ($this->outlet->delete($id)) { return redirect('merchant-profile')->with('message', 'Successfully deleted.'); } return redirect('merchant-profile')->with('message', 'Error while deleting.'); }