コード例 #1
0
 public function CompleteTrade()
 {
     $userRep = new UsersRepository();
     $portfolioRep = new PortfoliosRepository();
     $id = Input::get('id');
     $user = Auth::user();
     if ($user) {
         $trade = Trade::find($id);
         $portfolio = Portfolio::find($trade->portfolio_id);
         if ($portfolio->user_id == Auth::user()->id && $trade->is_active) {
             $profile = Profile::find($trade->profile_id);
             $trade->is_active = false;
             $trade->price_sold = $profile->current_price;
             $trade->save();
             $price = $profile->current_price * $trade->shares_taken;
             $portfolioRep->IncreaseBalance($portfolio, $price);
             return response()->json(array('success' => true, 'portfolioId' => $portfolio->id, 'price' => $price));
         }
     }
     return response()->json(array('success' => false));
 }
コード例 #2
0
ファイル: DiaryController.php プロジェクト: seisyo/Verthandi
 public function deleteEventDiary(Request $request, $eventId)
 {
     $validator = Validator::make(['event_id' => $eventId, 'trade_id' => $request->get('trade_id')], ['event_id' => 'required|exists:event,id', 'trade_id' => 'required|exists:trade,id']);
     if ($validator->fails()) {
         return redirect()->route('event::diary', ['eventId' => $eventId, 'page' => $request->get('current_page')])->with('errors' . $request->get('trade_id'), $validator->messages());
     } else {
         // save the trade name
         $deleteTrade = Trade::find($request->get('trade_id'))->name;
         $transaction = DB::transaction(function () use($request, $eventId) {
             // delete the relate file's
             $files = DiaryAttachedFiles::where('event_id', '=', $eventId)->where('trade_id', '=', $request->get('trade_id'))->get();
             foreach ($files as $file) {
                 // Storage::delete(join(DIRECTORY_SEPARATOR, ['diary', $file->event_id, $file->trade_id, $file->file_name]));
                 $file->delete();
             }
             // delete the relate diarys
             $diarys = Trade::find($request->get('trade_id'))->diary;
             foreach ($diarys as $diary) {
                 $diary->delete();
             }
             // delete the trade
             Trade::find($request->get('trade_id'))->delete();
         });
         Cache::forget('tradeList-' . $eventId . '-' . $request->get('current_page'));
         if (is_null($transaction)) {
             Session::flash('toast_message', ['type' => 'success', 'content' => '成功刪除交易「' . $deleteTrade . '」']);
             return redirect()->route('event::diary', ['eventId' => $eventId, 'page' => $request->get('current_page')]);
         } else {
             Session::flash('toast_message', ['type' => 'error', 'content' => '刪除交易「' . $deleteTrade . '」失敗']);
             return redirect()->route('event::diary', ['eventId' => $eventId, 'page' => $request->get('current_page')]);
         }
     }
 }