public function api_get($id) { $investor = Investor::where('id', $id)->with('cars', 'contracts', 'contracts.driver', 'contracts.car')->first(); $investor->cars = $investor->cars->each(function ($car) { $car->available = Carbon::parse($car->available_since)->toFormattedDateString(); $car->currentContract = $car->currentContract; $car->totalContracts = $car->totalContracts; $car->totalRevenue = $car->totalRevenue; $car->totalRent = $car->totalRent; }); $investor->drivers = $investor->drivers; $investor->revenues = $investor->allRevenues; return $investor; }
/** * * Description: Check and Save Account and Investors * Component: CreateInvestorAccount * */ public function addAccount(ValidateAddInvestorPostRequest $request) { try { //Create user $isUsernameExist = true; $username = ''; while ($isUsernameExist) { $username = '******' . (string) Uuid::uuid4(); if (!User::where('userName', $username)->first()) { $isUsernameExist = false; } } $user = User::create(['username' => $username]); $user->user_role_id = UserRole::where('name', 'Investor')->first()->id; $user->save(); } catch (\Exception $e) { $user->delete(); throw $e; } try { // Create Account $account = Account::create(['name' => $request->input('accountName'), 'type' => $request->input('accountType')]); $account->user_id = $user->id; $account->save(); } catch (\Exception $e) { $user->delete(); $account->delete(); throw $e; } try { // Add Investor $investor = Investor::create(['firstName' => $request->input('firstName'), 'middleName' => $request->input('middleName') === '' ? null : $request->input('middleName'), 'lastName' => $request->input('lastName'), 'email' => $request->input('email') === '' ? null : $request->input('email')]); $investor->isOwner = true; $investor->account_id = $account->id; $investor->save(); } catch (\Exception $e) { $user->delete(); $account->delete(); throw $e; } try { // Add Co Investors if Account Type = 'joint' if ($request->input('accountType') === 'joint') { foreach ($request->input('coInvestors') as $index => $value) { $coInvestor = Investor::create(['firstName' => $value['coFirstName'], 'middleName' => $value['coMiddleName'] === '' ? null : $value['coMiddleName'], 'lastName' => $value['coLastName']]); $coInvestor->account_id = $account->id; $coInvestor->save(); } } } catch (\Exception $e) { $investor = Investor::where('account_id', $account->id)->delete(); $user->delete(); $account->delete(); throw $e; } return response()->json(['status' => 'success', 'message' => 'New Account Created.']); }
public function setUserCredentials(ValidateUserCredentialsPostRequest $request) { $investor = Investor::where('verification_code', $request->input('verification_code'))->first(); $investor->account->user->username = $request->input('username'); $investor->account->user->password = bcrypt($request->input('password')); $investor->account->user->password_changed_at = Carbon::now(); $investor->account->user->is_active = true; $investor->account->user->email = $investor->email; $investor->account->user->touch(); $investor->account->user->save(); $investor->account->touch(); $investor->account->save(); $investor->verification_code = null; $investor->is_email_verified = true; $investor->touch(); $investor->save(); return response()->json(['status' => 'success', 'url' => route('memberLogin')]); }
public function verifyInvestor($verification_code) { if (Investor::where('verification_code', $verification_code)->count() > 0) { return view('modules.application.verify'); } }