Exemplo n.º 1
0
 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;
     }
 }
Exemplo n.º 2
0
 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]);
 }
Exemplo n.º 3
0
 public function getProjectFunded()
 {
     $project_funded = \App\Models\ProjectFund::orderBy('created_at', 'desc')->get();
     return view('admin.payments.project_funded', ['project_funded' => $project_funded]);
 }
Exemplo n.º 4
0
 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]);
     }
 }
Exemplo n.º 5
0
 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]);
 }
Exemplo n.º 6
0
 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);
 }
Exemplo n.º 7
0
 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');
 }