/**
  * store Contact
  *
  * @param  Business           $business Business that will hold the Contact
  * @param  ContactFormRequest $request  Contact form Request
  * @return Response                     Rendered view or Redirect
  */
 public function store(Business $business, ContactFormRequest $request)
 {
     $this->log->info("BusinessContactController@store: businessId:{$business->id}");
     if (Gate::denies('manageContacts', $business)) {
         abort(403);
     }
     if (trim($request->input('nin'))) {
         $existing_contacts = Contact::whereNotNull('nin')->where(['nin' => $request->input('nin')])->get();
         foreach ($existing_contacts as $existing_contact) {
             $this->log->info("BusinessContactController: store: [ADVICE] Found existing contactId:{$existing_contact->id}");
             if ($existing_contact->isSubscribedTo($business)) {
                 $this->log->info("BusinessContactController: store: [ADVICE] Existing contactId:{$existing_contact->id} is already linked to businessId:{$business->id}");
                 Flash::warning(trans('manager.contacts.msg.store.warning_showing_existing_contact'));
                 return redirect()->route('manager.business.contact.show', [$business, $existing_contact]);
             }
         }
     }
     $contact = Contact::create($request->except('notes', '_token'));
     $business->contacts()->attach($contact);
     $business->save();
     $this->log->info("BusinessContactController@store: Contact created contactId:{$contact->id}");
     $contact->business($business)->pivot->update(['notes' => $request->get('notes')]);
     Flash::success(trans('manager.contacts.msg.store.success'));
     return redirect()->route('manager.business.contact.show', [$business, $contact]);
 }