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)); }
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')]); } } }