public function sortByCriteria($criteria = null, $authId = Null) { switch ($criteria) { case 'active': $users = $this->model->where('type', 'general')->where('status', '1')->count(); return $users; break; case 'inactive': $users = $this->model->where('type', 'general')->where('status', '0')->count(); return $users; break; case 'facebook': $users = $this->model->where('type', 'general')->where('register_type', 'facebook')->count(); return $users; break; case 'googleplus': $users = $this->model->where('type', 'general')->where('register_type', 'googleplus')->count(); return $users; break; case 'twitter': $users = $this->model->where('type', 'general')->where('register_type', 'twitter')->count(); return $users; break; case 'all': $users = $this->model->where('type', 'general')->count(); return $users; break; case 'my_posted_projects': $myPostedProjectLists = \App\Models\Project::where('active', '1')->where('user_id', $authId)->count(); return $myPostedProjectLists; break; case 'my_posted_projects': $myPostedProjectLists = \App\Models\ProjectUpdates::where('active', '1')->where('user_id', $authId)->count(); return $myPostedProjectLists; break; case 'my_backed_projects': $MyFundedProjectLists = array(); $lists = \App\Models\ProjectFund::where('U_ID', $authId)->whereIn('status', ['Pledged', 'Funded'])->orderBy('created_at', 'desc')->get(); if (count($lists) > 0) { foreach ($lists as $val) { $MyFundedProjectLists[] = $val->P_ID; } } $result = array_unique($MyFundedProjectLists); return count($result); break; case 'my_likes_projects': $myLikeProjects = \App\Models\ProjectFollowers::where('user_id', $authId)->count(); return $myLikeProjects; break; case 'my_following_projects': $myFllowingProjects = \App\Models\ProjectFollowers::where('user_id', $authId)->count(); return $myFllowingProjects; break; } }
public function getProjectBacked($id = Null) { $fundedProjectLists = array(); if ($id == Null) { \App::abort(404, 'Invalid User Id'); } else { $user_id = $id; } $user = \App\User::where('id', $user_id)->first(); $lists = ProjectFund::where('U_ID', $user_id)->whereIn('status', ['Pledged', 'Funded'])->orderBy('created_at', 'desc')->get(); if (count($lists) > 0) { foreach ($lists as $val) { $fundedProjectLists[] = $val->P_ID; } } $result = array_unique($fundedProjectLists); $myFundedProjectLists = Project::where('active', '1')->whereIn('id', $result)->orderBy('created_at', 'desc')->get(); $getResults = $this->project_repo->prepareListObj($myFundedProjectLists); return view('user.project-backed', ['_menus' => $this->menuItems, 'login_url' => $this->login_url, 'user' => $user, 'dashBoardDetailsByAuthUser' => $this->userrepo->generalOverViewByAuthUser($user_id), 'my_funded_projects' => $getResults]); }
public function getProjectFunded() { $project_funded = \App\Models\ProjectFund::orderBy('created_at', 'desc')->get(); return view('admin.payments.project_funded', ['project_funded' => $project_funded]); }
public function getUimodal($modalFor, $user_id) { if (isset($modalFor) && $modalFor == 'project-count') { $projectLists = \App\Models\Project::where('user_id', $user_id)->get(); echo view('admin.user.uimodal', ['modalFor' => $modalFor, 'user_id' => $user_id, 'projectLists' => $projectLists]); } elseif (isset($modalFor) && $modalFor == 'user-login-count') { $logHistory = \App\Models\LogActivity::where('user_id', $user_id)->where('action', 'user-login')->orderBy('timestamp')->get(); echo view('admin.user.uimodal', ['modalFor' => $modalFor, 'user_id' => $user_id, 'logHistory' => $logHistory]); } elseif (isset($modalFor) && $modalFor == 'project_funded_count') { $fundedDetails = \App\Models\ProjectFund::where('U_ID', $user_id)->where('status', 'Pledged')->orderBy('created_at')->get(); echo view('admin.user.uimodal', ['modalFor' => $modalFor, 'user_id' => $user_id, 'fundedDetails' => $fundedDetails]); } }
public function getWidget($id) { $updateRank = $this->project_repo->updateprojectrank($id); $featuredProjects = Project::where('id', $id)->get(); $total_backers = ProjectFund::where('P_ID', $id)->count(); $total_fund = ProjectFund::where('P_ID', $id)->sum('paid_amount'); $funded = number_format($total_fund / $featuredProjects[0]['funding_goal'] * 100) . "%"; return view('project.embed', ['_featuredProducts' => $featuredProjects, '_totalBackers' => $total_backers, '_totalFunds' => $total_fund, '_funded' => $funded]); }
public function postRefund(Request $request) { $transaction_id = $request->get('id'); $error = ''; $transaction_details = \App\Models\ProjectFund::findOrFail($transaction_id); $getProjectReceiverAccount = \App\Models\Project::where('id', $transaction_details->P_ID)->first(); $getReceiverAccount = $getProjectReceiverAccount->user_id ? \App\Models\ReciverAccount::where('user_id', $getProjectReceiverAccount->user_id)->first() : Null; //dd($getReceiverAccount->secret_key); if ($getReceiverAccount->secret_key) { \Stripe\Stripe::setApiKey($getReceiverAccount->secret_key); } try { $paid_amount = $transaction_details->paid_amount * 100; $refund = \Stripe\Refund::create(array('amount' => $paid_amount, 'charge' => $transaction_details->transaction_id)); //dd($refund->toArray()); //updatating local table $cashWithDrawaldRequest = new \App\Models\CashWithdrawalsRequest(); $cashWithDrawaldRequest->user_id = $getProjectReceiverAccount->user_id; $cashWithDrawaldRequest->status = 'request'; $cashWithDrawaldRequest->project_fund_id = $transaction_id; if ($cashWithDrawaldRequest->save()) { $request->session()->flash('alert-success', 'Request for charge refunding is successfully posted . '); //return response(['msg' => 'success' ]); return \Redirect::to('home/project-backed')->with('msg', 'success'); } else { $request->session()->flash('alert-success', 'Request for charge refunding is not processed !'); //return response(['msg' => 'failure' ]); return \Redirect::to('home/project-backed')->with('stripe_errors', $error['message']); } ///update } catch (Exception $e) { // dd("a"); $e_json = $e->getMessage(); $error = $e_json['error']; return response(['msg' => 'failure']); //return \Redirect::to('home/project-backed')->with('stripe_errors',$error['message']) ; } //dd($refund->_lastResponse); }
public function postPayments(Request $request) { $authId = Auth::user()->id; //dd($authId); //$getReceiverAccount = \App\Models\ReciverAccount::where('user_id' , $authId)->first(); //dd($getReceiverAccount); $rewardLogId = $request->input('_log_id_'); $rewardLogRow = \App\Models\RewardsLogDuringPayment::where('id', $rewardLogId)->first(); $rewardLogRowDecodedObj = json_decode($rewardLogRow->array_obj); $project_id = $rewardLogRowDecodedObj->project_id; $backingAmount = $rewardLogRowDecodedObj->backing->amount; $stripeToken = $request->input('stripeToken'); $currency = $request->input('currency'); $error = ''; $post = \App\Models\Project::findOrFail($rewardLogRowDecodedObj->project_id); $getReceiverAccount = $post->user_id ? \App\Models\ReciverAccount::where('user_id', $post->user_id)->first() : Null; if ($getReceiverAccount->secret_key) { //\Stripe\Stripe::setApiKey(\Config::get('stripe.stripe.secret')); \Stripe\Stripe::setApiKey($getReceiverAccount->secret_key); } try { // throw new Exception("The Stripe Token was not generated correctly"); $post = \App\Models\Project::findOrFail($project_id); $charge = \Stripe\Charge::create(array("amount" => $backingAmount * 100, "currency" => $currency, "capture" => false, "card" => $stripeToken, "description" => 'Captured amount #' . $backingAmount . $currency . ' for pledge project-id #' . $project_id), array('idempotency_key' => $this->generateRandomString())); //echo $charge->status; //dd($charge); if ($charge->status == 'succeeded') { $transactionId = $charge->id; $actionMsg_1 = Auth::user()->name . ' has pledged for project # ' . $post->name; $actionMsg_2 = Auth::user()->name . ' has invested ' . $backingAmount . $currency . ' for project # ' . $post->name; $settingsRow = \App\Setting::where('config_key', 'commission_from_each_fund')->first(); $commissionVal = $settingsRow->config_value; $projectFunds = new \App\Models\ProjectFund(); $projectFunds->P_ID = $project_id; $projectFunds->U_ID = Auth::user()->id; $projectFunds->paid_amount = $backingAmount; $projectFunds->site_commission = $backingAmount * $commissionVal / 100; $projectFunds->amount_to_project_owner = $backingAmount - $backingAmount * $commissionVal / 100; $projectFunds->status = 'Pledged'; $projectFunds->rewards_log_during_payment_id = $rewardLogId; $projectFunds->transaction_id = $transactionId; $projectFunds->save(); // commission_from_each_fund \Event::fire('transaction.log', new \App\Events\Transaction($request, ['transaction_id' => $transactionId, 'user_id' => Auth::user()->id, 'msg' => $actionMsg_1, 'credit' => '0.00', 'debit' => $backingAmount, 'status' => 'Pledged'])); \Event::fire('activity.log', new \App\Events\Activity($request, ['project_id' => $project_id, 'user_id' => Auth::user()->id, 'action' => 'invested', 'msg' => $actionMsg_2])); } } catch (Exception $e) { $e_json = $e->getMessage(); $error = $e_json['error']; return \Redirect::to('checkout/payments')->withInput()->with('stripe_errors', $error['message']); } return \Redirect::to('checkout/success'); }