public function register(Request $request)
 {
     if (Session::has('fs_supplier')) {
         return redirect('/supplier/dashboard');
     }
     if ($request->isMethod('post')) {
         $rules = array('first_name' => 'required|max:255', 'last_name' => 'required|max:255', 'email' => 'required|email|max:255|unique:users', 'password' => 'required', 'password_confirm' => 'required|same:password', 'terms_and_policy' => 'accepted');
         $validator = Validator::make($request->all(), $rules);
         if ($validator->fails()) {
             return Redirect::back()->withErrors($validator)->withInput();
         } else {
             try {
                 $supplier = User::create(['name' => $request['first_name'], 'last_name' => $request['last_name'], 'email' => $request['email'], 'password' => bcrypt($request['password']), 'role' => '3', 'username' => $request['username'], 'profilepic' => '/assets/images/avatar-placeholder.jpg']);
                 if ($supplier) {
                     Auth::login($supplier);
                     $objModelUsers = User::getInstance();
                     $userDetails = $objModelUsers->getUserById(Auth::id());
                     Session::put('fs_supplier', $userDetails['original']);
                     return redirect()->intended('supplier/supplierDetails');
                 } else {
                     return view("Supplier/Views/supplier/register")->withErrors(['registerErrMsg' => 'Something went wrong, please try again.']);
                 }
             } catch (\Exception $ex) {
                 return redirect()->back()->with('exception', 'An exception occurred, please reload the page and try again.');
             }
         }
     }
     return view("Supplier/Views/supplier/register");
 }