/**
  * [update_transaction description]
  * //update amount transaction.
  * @param  [type]
  * @return [type]
  */
 public function update_transaction($id)
 {
     $data = ['amount' => $this->sum_amount($id)];
     $transaction = Transaction::find($id);
     $transaction->update($data);
     return redirect()->route('order.index');
 }
 public function update($id, $status)
 {
     if ($transaction = Transaction::find($id)) {
         $transaction->status = $status;
         $transaction->save();
     }
     // Redirect back to the checkout
     return redirect($transaction->redirect_url);
 }
예제 #3
0
 public function getDelete($id)
 {
     $transactions = \App\Transaction::find($id);
     if (is_null($transactions)) {
         \Session::flash('flash_message', 'Transaction not found.');
         return redirect('/transactions/' . $transactions->account_id);
     }
     $transactions->delete();
     \Session::flash('flash_message', 'Your "' . $transactions->trans_name . '" transaction was deleted.');
     return redirect('/transactions/' . $transactions->account_id);
 }
 public function updateTransaction(SaveTransactionPostRequest $request)
 {
     DB::transaction(function () use($request) {
         $transaction = Transaction::find($request->input('id'));
         $transaction->transactionDate = Carbon::parse($request->input('transactionDate'))->toDateString();
         $transaction->amount = $request->input('amount');
         $transaction->transaction_type_id = $request->input('transaction_type_id');
         $transaction->notes = $request->input('notes') === '' ? null : $request->input('notes');
         $transaction->save();
         $investor = Investor::find($transaction->investor_id);
         $investor->balance = $this->computeBalance($investor->id);
         $investor->save();
         return response()->json(['status' => 'success']);
     });
 }
 public function getComplete3($id)
 {
     $register2 = Transaction::find($id);
     $register2->cheque_status = 1;
     if ($register2->payment_method == "Check") {
         if ($register2->cheque_date == '') {
             $register2->cheque_date = date("m/d/Y", time());
         }
         $accountPayment = NameOfAccount::find($register2->account_name_id);
         $accountPayment->opening_balance = $accountPayment->opening_balance - $register2->amount;
         $accountPayment->save();
     }
     $register2->save();
     return Redirect::to('dashboard');
 }
 /**
  *
  *  Description: Update Selected Transaction
  *  Component: EditTransactionFormModal
  *
  */
 public function updateTransaction(SaveTransactionPostRequest $request)
 {
     $transaction = Transaction::find($request->input('id'));
     $transactionType = TransactionType::where('code', $request->input('transactionType'))->first();
     if ($transactionType->account_type === 'DR') {
         $this->validate($request, ['amount' => 'max:' . $account->balance]);
     }
     $transaction->transactionDate = Carbon::parse($request->input('transactionDate'))->toDateString();
     $transaction->amount = $request->input('amount');
     $transaction->transaction_type_id = $transactionType->id;
     $transaction->notes = $request->input('notes') === '' ? null : $request->input('notes');
     $transaction->touch();
     $transaction->save();
     $transaction->account->balance = $this->recomputeRunningBalance($transaction->account_id);
     $transaction->account->save();
     return response()->json(['message' => 'Transaction Updated.']);
 }
 public function save($id, TransactionItemSaveRequest $request, ProductRepository $productRepository)
 {
     $transactionItem = $this->transactionItemRepository->getById($id);
     if ($transactionItem && Gate::denies('save', $transactionItem)) {
         return $this->json->error('You cannot alter other\'s Transactions ...');
     }
     if (!$transactionItem) {
         $transactionItem = new TransactionItem();
     }
     $product = $productRepository->getById($request->get('amazon_product_id'));
     if (!$product) {
         return $this->json->error('No Product Associated');
     }
     $transactionItem->fill($request->except(['transaction_id']));
     Transaction::find($request->get('transaction_id'))->items()->save($transactionItem);
     return $this->json->success();
 }
예제 #8
0
 public function confirm_transaction($domain, Request $request)
 {
     $transaction_id = $request->transaction_id;
     $status = $request->status;
     if ($transaction_id == null || $status == null) {
         return $this->responseBadRequest('transaction_id and status are required');
     }
     if ($status != -1 && $status != 1) {
         return $this->responseBadRequest('status must be either 1 or -1');
     }
     $transaction = Transaction::find($transaction_id);
     if ($transaction->status != 0) {
         return $this->responseBadRequest('Giao dịch này không ở trạng thái pending');
     }
     $transaction->status = $status;
     $transaction->sender->status = 0;
     if ($status == 1) {
         $transaction->sender->money = $transaction->sender->money - $transaction->money;
         $transaction->receiver->money = $transaction->receiver->money + $transaction->money;
     }
     $transaction->save();
     $transaction->sender->save();
     $transaction->receiver->save();
     $notification = new Notification();
     $notification->product_id = $transaction->id;
     $notification->actor_id = $transaction->receiver->id;
     $notification->receiver_id = $transaction->sender->id;
     $notification->type = 4;
     $notification->save();
     $data = array("message" => "Bạn chuyển tiền cho " . $transaction->receiver->name . " " . transaction_status_raw($transaction->status), "link" => "", 'transaction' => ['id' => $transaction->id, 'sender' => $transaction->sender->name, 'receiver' => $transaction->receiver->name, 'status' => transaction_status_raw($transaction->status), 'money' => $transaction->money], 'created_at' => format_date_full_option($notification->created_at), "receiver_id" => $notification->receiver_id);
     $publish_data = array("event" => "notification", "data" => $data);
     Redis::publish('colorme-channel', json_encode($publish_data));
     $publish_data = array("event" => "notification", "data" => ["notification" => $this->notificationTransformer->transform($notification)]);
     Redis::publish('colorme-channel', json_encode($publish_data));
     $return_data = ['transaction' => ['sender' => $transaction->sender->name, 'receiver' => $transaction->receiver->name, 'status' => transaction_status_raw($transaction->status), 'money' => $transaction->money]];
     return $this->respond($return_data);
 }
 public function getVoucher($transactionId)
 {
     $transaction = Transaction::find($transactionId);
     return view('Sales.voucher', compact('transaction'));
 }
예제 #10
0
 public function getDelete($id)
 {
     $salesreturn = SalesReturnDetail::find($id);
     $saleReturnInvoice = SalesReturnInvoice::where('invoice_id', '=', $salesreturn->invoice_id)->first();
     $remaining_amount = $salesreturn->return_amount;
     $partyId = $saleReturnInvoice->party_id;
     if ($remaining_amount > 0) {
         $invoiceId = Sale::where('party_id', '=', $partyId)->where('is_sale', '=', 1)->get();
         foreach ($invoiceId as $invid) {
             $amount = Transaction::where('invoice_id', '=', $invid->invoice_id)->where('type', '=', 'Receive')->where('account_category_id', '=', 7)->get();
             foreach ($amount as $amnt) {
                 if ($amnt->amount > $remaining_amount) {
                     $transaction = Transaction::find($amnt->id);
                     $transaction->amount = $transaction->amount - $remaining_amount;
                     $transaction->save();
                     $sale = Sale::find($invid->id);
                     $sale->status = 'Partial';
                     $sale->save();
                     $remaining_amount = 0;
                 } elseif ($amnt->amount < $remaining_amount) {
                     $transaction = Transaction::find($amnt->id);
                     $transacamount = $transaction->amount;
                     $transaction->delete();
                     $sale = Sale::find($invid->id);
                     $sale->status = 'Partial';
                     $sale->save();
                     $remaining_amount = $remaining_amount - $transacamount;
                 } elseif ($amnt->amount == $remaining_amount) {
                     $transaction = Transaction::find($amnt->id);
                     $transaction->delete();
                     $sale = Sale::find($invid->id);
                     $sale->status = 'Partial';
                     $sale->save();
                     $remaining_amount = 0;
                 }
             }
         }
     }
     $salesreturn->delete();
     $saleReturnDetail = SalesReturnDetail::where('invoice_id', '=', $saleReturnInvoice->invoice_id)->get();
     if (empty($saleReturnDetail[0])) {
         echo 'deleted';
         $saleReturnInvoice->delete();
     }
 }
예제 #11
0
 public function pdf($prefix, $encrypted_runner_id)
 {
     $runner_id = Crypt::decrypt($encrypted_runner_id);
     $runner = Runner::find($runner_id);
     if (is_null($runner)) {
         return redirect($prefix . '/error');
     }
     $payment = $runner->payment;
     if ($payment->id == 1) {
         $transaction = Transaction::find($runner->ticket);
         $code = Code::makeDummy();
     } else {
         $code = Code::where('code', $runner->ticket)->first();
         $transaction = Transaction::makeDummy();
     }
     $pdf = PDF::loadView('enroll.docs.manifest', ['runner' => $runner, 'transaction' => $transaction, 'code' => $code])->setPaper('a4')->setOrientation('portrait');
     return $pdf->stream('manifest.pdf');
 }
 public function deleteIndex($id)
 {
     $transaction = Transaction::find($id);
     $transaction->delete();
     return $id;
 }
예제 #13
0
 public function confirm_transaction(Request $request)
 {
     $transaction_id = $request->id;
     $status = $request->status;
     $transaction = Transaction::find($transaction_id);
     if ($transaction->status != 0) {
         return json_encode(['error' => 'Giao dịch không ở trạng thái pending', 'status' => transaction_status($transaction->status), 'money' => currency_vnd_format($transaction->receiver->money)]);
     }
     $transaction->status = $status;
     $transaction->sender->status = 0;
     if ($status == 1) {
         $transaction->sender->money = $transaction->sender->money - $transaction->money;
         $transaction->receiver->money = $transaction->receiver->money + $transaction->money;
     }
     $transaction->save();
     $transaction->sender->save();
     $transaction->receiver->save();
     $notification = new Notification();
     $notification->product_id = $transaction->id;
     $notification->actor_id = $transaction->receiver->id;
     $notification->receiver_id = $transaction->sender->id;
     $notification->type = 4;
     $notification->save();
     $data = array("message" => "Bạn chuyển tiền cho " . $transaction->receiver->name . " " . transaction_status_raw($transaction->status), "link" => "", 'transaction' => ['id' => $transaction->id, 'sender' => $transaction->sender->name, 'receiver' => $transaction->receiver->name, 'status' => transaction_status_raw($transaction->status), 'money' => $transaction->money], 'created_at' => format_date_full_option($notification->created_at), "receiver_id" => $notification->receiver_id);
     $publish_data = array("event" => "notification", "data" => $data);
     Redis::publish('colorme-channel', json_encode($publish_data));
     $publish_data = array("event" => "notification", "data" => ["notification" => $this->notificationTransformer->transform($notification)]);
     Redis::publish('colorme-channel', json_encode($publish_data));
     $return_data = array('status' => transaction_status($transaction->status), 'money' => currency_vnd_format($transaction->receiver->money));
     return json_encode($return_data);
 }
예제 #14
0
 /**
  * [detailTransaction description]
  * @return [type] [description]
  */
 protected function detailTransaction($id)
 {
     $transaction = Transaction::find($id);
     $order = $transaction->order;
     return $order;
 }
예제 #15
0
 public function getDeleteTransaction($id)
 {
     $transaction = Transaction::find($id);
     $account_id = Input::get('data');
     $accounts = NameOfAccount::find($account_id);
     $accounts->opening_balance = $accounts->opening_balance - $transaction->amount;
     $accounts->save();
     $transaction->delete();
     $message = array('Transaction Successfully Deleted');
     return new JsonResponse($message);
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function destroy($id)
 {
     // check if transaction exists
     $transaction = Transaction::find($id);
     if ($transaction === null || $transaction->user_id != Auth::user()->id) {
         // stuff to pass into view
         $title = "Error";
         $errmsg = "The transaction does not exist.";
         return view('errors.error', compact('errmsg', 'title', 'heading'));
     }
     // get account of transaction
     $account = $transaction->account;
     // get balance and amount
     $balance = $transaction->account->balance * 100;
     $amount = $transaction->amount * 100;
     // get final balance
     if (strcasecmp($transaction->type, "DEPOSIT") == 0) {
         $balance = $balance - $amount;
     }
     if (strcasecmp($transaction->type, "WITHDRAWAL") == 0) {
         $balance = $balance + $amount;
     }
     // start database transaction
     DB::transaction(function () use($transaction, $account, $balance) {
         // delete transaction
         $transaction->delete();
         // update balance
         $account->balance = round($balance / 100, 2);
         $account->save();
     });
     // redirect to transactions
     return redirect()->route('transactions.index');
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     $transaction = Transaction::find($id);
     $transaction->delete($id);
     return redirect()->route('transaction.index');
 }