/**
  * This will allow users to optionally create an account before making an order
  *
  * @param GuestCreateAccount $guestCreateAccount
  * @param CreateAccount $user
  *
  * @param UserRepository $registerUser
  * @return mixed
  */
 public function createAccount(GuestCreateAccount $guestCreateAccount, CreateAccount $user, UserRepository $registerUser)
 {
     // check the email
     $email = $this->guest->getGuestDetails()->email;
     $result = $registerUser->getFirstBy('email', '=', $email);
     if (!is_null($result)) {
         flash()->warning('Your email address is already in use. Please change it');
         return redirect()->back();
     }
     return $user->createAccount($guestCreateAccount, $registerUser)->handleRedirect($guestCreateAccount);
 }
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int $id
  *
  * @return Response
  */
 public function edit($id)
 {
     // get a user and their roles
     $user = $this->user->getFirstBy('id', '=', $id, ['roles']);
     return view('backend.access-control.RevokeRoles', compact('user'));
 }
 /**
  * Retrieves user account data
  *
  * @return \Illuminate\Database\Eloquent\Collection|static[]
  */
 public function getUserData()
 {
     return $this->userRepository->getFirstBy('id', '=', $this->user->id, ['county', 'shopping_cart']);
 }