public function update(Transaction $transaction, StoreTransactionRequest $request) { $data = $request->all(); $data['ignore'] = !isset($data['ignore']) ? false : $data['ignore']; $transaction->fill($data)->save(); flash()->success('Transaction updated successfully'); return redirect()->route('transaction.index'); }
/** * @param TransactionRequest $request * @return \Illuminate\Http\RedirectResponse */ public function store(TransactionRequest $request) { $lastTransaction = Transaction::findLatest($request->equipment_id); if ($lastTransaction->get()->isEmpty() || $lastTransaction->in_or_out == 'IN') { $transaction = new Transaction(); $transaction->fill($request->all()); $transaction->username = Auth::id(); $transaction->in_or_out = 'OUT'; $transaction->transaction_id = $this->generateTransactionId('OUT'); $transaction->save(); $this->generateReceiptEmail($transaction); } return redirect()->route('inventory.index'); }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @param Transaction $transaction * @return \Illuminate\Http\Response */ public function store(Request $request, Transaction $transaction) { if ($request->input('type') == 'transfer') { return $this->storeTransfer($request); } $this->validate($request, ['type' => 'required|in:expense,transfer,income', 'account' => 'required:exists:accounts,id', 'vendor' => 'required|exists:vendors,id', 'category' => 'exists:categories,id', 'description' => 'max:255', 'timestamp' => 'required|date_format:Y-m-d\\TH:i|before:' . date('Y-m-d\\TH:i'), 'amount' => 'required|numeric']); $input = $request->except(['_token']); if ($input['type'] == 'expense' && $input['amount'] > 0) { $input['amount'] = $input['amount'] * -1; } $input['account_id'] = $input['account']; $input['vendor_id'] = $input['vendor']; $input['category_id'] = $input['category']; unset($input['type'], $input['account'], $input['vendor'], $input['category']); $transaction->fill($input)->save(); return redirect('transactions')->with('success', 'Transaction successfully added.'); }
public function process($fileContents) { //set_time_limit( 800 ); $fileLines = explode("\r\n", $fileContents); $maxLineCount = count($fileLines); $user = Auth::user(); for ($x = 0; $x < $maxLineCount; $x++) { if ($x == 0) { continue; } $lineArray = explode("\t", $fileLines[$x]); $customerEmail = @$lineArray[10]; $customerName = @$lineArray[11]; $amazonOrderId = @$lineArray[0]; $recipientName = @$lineArray[24]; $amazonOrderItemId = @$lineArray[4]; $itemQuantity = @$lineArray[15]; $productSku = @$lineArray[13]; $productName = @$lineArray[14]; $productPrice = @$lineArray[17]; $shipAddress1 = @$lineArray[25]; $shipAddress2 = @$lineArray[26]; $shipAddress3 = @$lineArray[27]; $shipCity = @$lineArray[28]; $shipState = @$lineArray[29]; $shipPostalCode = @$lineArray[30]; $shipCountry = @$lineArray[31]; $carrier = @$lineArray[42]; $trackingNumber = @$lineArray[43]; $itemPromotionDiscount = @$lineArray[40]; $customer = Customer::where('email', '=', $customerEmail)->where('user_id', '=', $user->id)->first(); if (!$customer) { $customer = new Customer(); $customer->fill(['email' => $customerEmail, 'name' => $customerName]); $customer = $user->customers()->save($customer); } else { $customer->name = $customerName; $customer->save(); } $transaction = Transaction::where('amazon_order_id', '=', $amazonOrderId)->where('customer_id', '=', $customer->id)->first(); if (!$transaction) { $transaction = new Transaction(); $transactionData = ['amazon_order_id' => $amazonOrderId, 'recipient_name' => $recipientName, 'ship_address_1' => $shipAddress1, 'ship_address_2' => $shipAddress2, 'ship_address_3' => $shipAddress3, 'ship_city' => $shipCity, 'ship_state' => $shipState, 'ship_postal_code' => $shipPostalCode, 'ship_postal_country' => $shipCountry, 'carrier' => $carrier, 'tracking_number' => $trackingNumber]; $transaction->fill($transactionData); $transaction = $customer->transactions()->save($transaction); } else { $transaction->recipient_name = $recipientName; $transaction->save(); } $productSku = str_replace('-', '', $productSku); // Products ... $product = AmazonProduct::whereSku($productSku)->where('user_id', '=', $user->id)->first(); if (!$product) { $product = new AmazonProduct(); $product->fill(['sku' => $productSku, 'name' => $productName, 'price' => $productPrice]); $product = $user->products()->save($product); } else { $product->name = $productName; $product->price = $productPrice; $product->save(); } if ($itemPromotionDiscount != 0) { $payout = $itemQuantity * ($product->price - $itemPromotionDiscount); } else { $payout = $itemQuantity * $product->price; } $transactionItem = TransactionItem::whereAmazonOrderItemId($amazonOrderItemId)->where('transaction_id', '=', $transaction->id)->first(); if (!$transactionItem) { $transactionItem = new TransactionItem(); $arrayData = ['amazon_product_id' => $product->id, 'amazon_order_item_id' => $amazonOrderItemId, 'quantity' => $itemQuantity, 'payout' => $payout]; $transactionItem->fill($arrayData); $transaction->items()->save($transactionItem); } else { $transactionItem->amazon_product_id = $product->id; $transactionItem->quantity = $itemQuantity; $transactionItem->payout = $payout; $transactionItem->save(); } } return $this->json->success('SUCCESS!!! Import data done ....'); }