Files
exchange/app/Http/Controllers/BookingController.php
T
Mohd Arief 315ed64520 added booking seeder
updated booking controller
added test for booking
2018-05-19 12:33:48 +08:00

164 lines
4.7 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Booking;
use App\Rate;
use App\User;
class BookingController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return response()->json(['success' => true, 'message'=> "You have successfully logged out."]);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return response()->json(['success' => true, 'message'=> "Hohohoho"]);
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$rates = Rate::all()->last();
$term = $request->input('term');
$rate = 1;
switch($term){
case "x1_cash":
$rate = $rates->x1_cash;
break;
case "x1_cheque":
$rate = $rates->x1_cheque;
break;
case "x1_ba":
$rate = $rates->x1_ba;
break;
case "x2_cash":
$rate = $rates->x2_cash;
break;
case "x2_cheque":
$rate = $rates->x2_cheque;
break;
case "x2_ba":
$rate = $rates->x2_ba;
break;
default:
$rate = "no";
break;
}
//Calculation part
// $bookings = Booking::all();
$amount = $request->input("amount");
$svcharge=20.00;
$bia = round(($amount + ($svcharge / $rate) + 0.06), 2);
// return $bia;
$user = User::first();
$booking = new Booking();
$booking->account_name = $request->input('account_name');
$booking->account_num = $request->input('account_num');
$booking->bank_name = $request->input('bank_name');
$booking->bank_branch = $request->input('bank_branch');
$booking->company_name = $request->input('company_name');
$booking->company_address = $request->input('company_address');
$booking->bank_address = $request->input('bank_address');
$booking->swift_code = $request->input('swift_code');
$booking->cnap = $request->input('cnap');
$booking->term = $request->input('term');
$booking->amount = $request->input('amount');
$booking->rate_id = $rate;
// $booking->user()->associate($user);
$booking->user_id = $request->input('user_id');
$booking->bia = $bia;
$booking->save();
// return false;
//$booking = Booking::create($request->all());
return response()->json($booking, 201);
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
// $booking = Booking::find($id);
return view('booking.index');
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $book_id)
{
$book_id = Booking::find($book_id);
//$com_id->id = $request->input('id');
$book_id->account_name = $request->input('account_name');
$book_id->account_num = $request->input('account_num');
$book_id->bank_name = $request->input('bank_name');
$book_id->bank_branch = $request->input('bank_branch');
$book_id->company_name = $request->input('company_name');
$book_id->company_address = $request->input('company_address');
$book_id->bank_address = $request->input('bank_address');
$book_id->swift_code = $request->input('swift_code');
$book_id->cnap = $request->input('cnap');
$book_id->save();
return response()->json(['book_id'=>$book_id],200);
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function delete(Booking $book_id)
{
$book_id->delete($book_id);
return response()->json($book_id, 204);
}
}