forked from TFMM/silent-auction
593 lines
17 KiB
PHP
593 lines
17 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\DB;
|
|
use View;
|
|
use App\helpers;
|
|
use Spatie\LaravelPdf\Facades\Pdf;
|
|
use App\Models\Bidders;
|
|
use App\Models\Items;
|
|
use App\Models\Checkout;
|
|
use App\Models\PaymentMethods;
|
|
use App\Models\WinningBids;
|
|
use App\Models\PeoplesChoice;
|
|
use App\Models\Judges;
|
|
use App\Models\CarShowWinner;
|
|
use App\Models\CarShowCategory;
|
|
use App\Models\Types;
|
|
use App\Models\Vehicles;
|
|
use App\Models\VehicleScores;
|
|
use Dompdf\Dompdf;
|
|
|
|
class PagesController extends Controller
|
|
{
|
|
public function home()
|
|
{
|
|
= Items::count();
|
|
= Bidders::count();
|
|
= WinningBids::count();
|
|
= Vehicles::count();
|
|
return view('home', [
|
|
'item_count_result' => ,
|
|
'bidder_count_result' => ,
|
|
'winner_count_result' => ,
|
|
'vehicle_count_result' =>
|
|
]);
|
|
}
|
|
|
|
public function bidderlist()
|
|
{
|
|
= Bidders::orderBy('bidder_assigned_number', 'asc')
|
|
->orderBy('bidder_lname', 'asc')
|
|
->orderBy('bidder_fname', 'asc')
|
|
->get();
|
|
return view('bidderlist', ['bidderlist_results' => ]);
|
|
}
|
|
|
|
public function bidders(Request )
|
|
{
|
|
if (!->bidderlname) {
|
|
return view('bidders');
|
|
}
|
|
= ->bidderlname;
|
|
= ->bidderfname;
|
|
= ->bidderaddr;
|
|
= ->biddercity;
|
|
= ->bidderstate;
|
|
= ->bidderzip;
|
|
= ->bidderphone;
|
|
= ->bidderemail;
|
|
= ->biddernum;
|
|
= Bidders::updateOrCreate(
|
|
[
|
|
'bidder_assigned_number' => ,
|
|
],
|
|
[
|
|
'bidder_lname' => ,
|
|
'bidder_fname' => ,
|
|
'bidder_addr' => ,
|
|
'bidder_city' => ,
|
|
'bidder_state' => ,
|
|
'bidder_zip' => ,
|
|
'bidder_phone' => ,
|
|
'bidder_email' =>
|
|
]
|
|
);
|
|
|
|
return redirect('bidders');
|
|
}
|
|
|
|
public function checkout(Request )
|
|
{
|
|
if (!->checkoutbiddernum) {
|
|
= \App\Models\Bidders::orderByRaw('CAST(bidder_assigned_number AS UNSIGNED) ASC')->get();
|
|
return view('checkout_select_form', ['bidders' => ]);
|
|
} elseif (!->checkout_payment_method) {
|
|
= ->checkoutbiddernum;
|
|
= DB::select("SELECT
|
|
*, items.item_assigned_num
|
|
FROM winning_bids
|
|
INNER JOIN items AS items
|
|
ON winning_bids.winning_item_num=items.iditems
|
|
WHERE winning_bidder_num =
|
|
");
|
|
= DB::select("SELECT
|
|
winning_bids.*,
|
|
bidders.*,
|
|
sum(winning_cost) AS total_cost
|
|
FROM winning_bids
|
|
INNER JOIN bidders AS bidders
|
|
ON winning_bids.winning_bidder_num=bidders.idbidders
|
|
WHERE winning_bidder_num =
|
|
GROUP BY winning_bids.winning_bidder_num
|
|
");
|
|
return view('checkout', [
|
|
'checkout_list_results' => ,
|
|
'checkout_info_results' =>
|
|
]);
|
|
} else {
|
|
= ->winnertotal;
|
|
= ->checkoutbiddernum;
|
|
= ->checkout_payment_method;
|
|
= ->check_number;
|
|
= ->cc_transaction;
|
|
= ->cc_amount;
|
|
= DB::select("SELECT
|
|
*, items.item_assigned_num, items.item_desc
|
|
FROM winning_bids
|
|
INNER JOIN items AS items
|
|
ON winning_bids.winning_item_num=items.iditems
|
|
WHERE winning_bidder_num =
|
|
");
|
|
= DB::select("SELECT
|
|
winning_bids.*,
|
|
bidders.*,
|
|
sum(winning_cost) AS total_cost
|
|
FROM winning_bids
|
|
INNER JOIN bidders AS bidders
|
|
ON winning_bids.winning_bidder_num=bidders.idbidders
|
|
WHERE winning_bidder_num =
|
|
GROUP BY winning_bids.winning_bidder_num
|
|
");
|
|
= DB::table('checkout')->insertGetID(
|
|
[
|
|
'bidder_num' => ,
|
|
'winnertotal' => ,
|
|
'payment_method' => ,
|
|
'check_number' => ,
|
|
'cc_transaction' => ,
|
|
'cc_amount' => ,
|
|
]
|
|
);
|
|
return view('checkout_complete', [
|
|
'checkout_result' => ,
|
|
'checkout_list_results' => ,
|
|
'checkout_info_results' => ,
|
|
'payment_method' => ,
|
|
'check_number' => ,
|
|
'cc_transaction' =>
|
|
]);
|
|
}
|
|
}
|
|
|
|
public function checkoutCompleteList()
|
|
{
|
|
= Checkout::join('bidders', 'checkout.bidder_num', '=', 'bidders.idbidders')
|
|
->groupBy('bidder_num')
|
|
->orderBy('bidders.bidder_assigned_number', 'asc')
|
|
->get();
|
|
return view('checkout_complete_list', ['checkout_complete_results' => ]);
|
|
}
|
|
|
|
public function editwinners(Request )
|
|
{
|
|
if (!->winid) {
|
|
= WinningBids::all();
|
|
return view('editwinners', ['winners' => ]);
|
|
}
|
|
= ->winid;
|
|
= ->winnerbiddernum;
|
|
= ->winnerbid;
|
|
= WinningBids::where('idwinning_bids', )
|
|
->update(
|
|
[
|
|
'winning_bidder_num' => ,
|
|
'winning_cost' =>
|
|
]
|
|
);
|
|
return redirect('editwinners');
|
|
}
|
|
|
|
public function finaltally()
|
|
{
|
|
= DB::select("SELECT
|
|
winning_bids.*,
|
|
sum(winning_bids.winning_cost) AS total_due,
|
|
bidders.*
|
|
FROM winning_bids
|
|
INNER JOIN bidders as bidders
|
|
ON winning_bids.winning_bidder_num=bidders.idbidders
|
|
GROUP BY winning_bids.winning_bidder_num
|
|
ORDER BY bidders.bidder_lname
|
|
");
|
|
return view('finaltally', ['finaltally_results' => ]);
|
|
}
|
|
|
|
public function itemlist()
|
|
{
|
|
= Items::orderBy('item_assigned_num', 'asc')
|
|
->get();
|
|
return view('itemlist', ['itemlist_results' => ]);
|
|
}
|
|
|
|
public function items(Request )
|
|
{
|
|
if (!->itemnum) {
|
|
return view('items');
|
|
}
|
|
= ->itemnum;
|
|
= ->itemdesc;
|
|
= ->itemminbid;
|
|
= ->itemestvalue;
|
|
= DB::table('items')->insert(
|
|
[
|
|
'item_assigned_num' => ,
|
|
'item_desc' => ,
|
|
'item_min_bid' => ,
|
|
'item_est_value' =>
|
|
]
|
|
);
|
|
return redirect('items');
|
|
}
|
|
|
|
public function receiptpdf(Request )
|
|
{
|
|
= ->checkout_id;
|
|
= Checkout::where('checkout_id', '=', )
|
|
->first();
|
|
= ->bidder_num;
|
|
= DB::select("SELECT
|
|
*, items.item_assigned_num, items.item_desc
|
|
FROM winning_bids
|
|
INNER JOIN items AS items
|
|
ON winning_bids.winning_item_num=items.iditems
|
|
WHERE winning_bidder_num =
|
|
");
|
|
= DB::select("SELECT
|
|
winning_bids.*,
|
|
bidders.*,
|
|
sum(winning_cost) AS total_cost
|
|
FROM winning_bids
|
|
INNER JOIN bidders AS bidders
|
|
ON winning_bids.winning_bidder_num=bidders.idbidders
|
|
WHERE winning_bidder_num =
|
|
GROUP BY winning_bids.winning_bidder_num
|
|
");
|
|
= [
|
|
'checkout_final_results' => ,
|
|
'checkout_list_results' => ,
|
|
'checkout_info_results' =>
|
|
];
|
|
return view('receiptpdf', );
|
|
}
|
|
|
|
public function downloadReceiptPdf(Request )
|
|
{
|
|
= ->checkout_id;
|
|
= Checkout::where('checkout_id', '=', )->first();
|
|
if (!) {
|
|
return redirect('/mywinnings')->with('error', 'Checkout record not found.');
|
|
}
|
|
|
|
= ->bidder_num;
|
|
= DB::select("SELECT
|
|
*, items.item_assigned_num, items.item_desc
|
|
FROM winning_bids
|
|
INNER JOIN items AS items ON winning_bids.winning_item_num=items.iditems
|
|
WHERE winning_bidder_num =
|
|
");
|
|
= DB::select("SELECT
|
|
winning_bids.*,
|
|
bidders.*,
|
|
sum(winning_cost) AS total_cost
|
|
FROM winning_bids
|
|
INNER JOIN bidders AS bidders ON winning_bids.winning_bidder_num=bidders.idbidders
|
|
WHERE winning_bidder_num =
|
|
GROUP BY winning_bids.winning_bidder_num
|
|
");
|
|
|
|
= new \Dompdf\Options();
|
|
->set('isHtml5ParserEnabled', true);
|
|
->set('isRemoteEnabled', true);
|
|
= new Dompdf();
|
|
|
|
= view('receiptpdf', [
|
|
'checkout_final_results' => ,
|
|
'checkout_list_results' => ,
|
|
'checkout_info_results' =>
|
|
])->render();
|
|
|
|
->loadHtml();
|
|
->setPaper('letter', 'portrait');
|
|
->render();
|
|
|
|
return ->stream('receipt-'..'.pdf');
|
|
}
|
|
|
|
public function reprintReceipt(Request )
|
|
{
|
|
if (!->reprintbiddernum) {
|
|
return view('reprint_receipt_form');
|
|
} else {
|
|
=->reprintbiddernum;
|
|
= Checkout::where('bidder_num', '=', )
|
|
->first();
|
|
return redirect()->route('receiptpdf', ['checkout_id' => ->checkout_id]);
|
|
}
|
|
}
|
|
|
|
public function winnerlist()
|
|
{
|
|
= WinningBids::join('bidders', 'winning_bids.winning_bidder_num', '=', 'bidders.idbidders')
|
|
->groupBy('winning_bidder_num')
|
|
->orderBy('bidders.bidder_assigned_number')
|
|
->get();
|
|
return view('winnerlist', ['winnerlist_results' => ]);
|
|
}
|
|
|
|
public function winners(Request )
|
|
{
|
|
if (!->winnerbid) {
|
|
= Bidders::all();
|
|
= Items::all();
|
|
return view('winners', ['bidders' => , 'items' => ]);
|
|
}
|
|
= ->winneritemnum;
|
|
= ->winnerbiddernum;
|
|
= ->winnerbid;
|
|
= DB::table('winning_bids')->insert(
|
|
[
|
|
'winning_item_num' => ,
|
|
'winning_bidder_num' => ,
|
|
'winning_cost' =>
|
|
]
|
|
);
|
|
return redirect('winners');
|
|
}
|
|
|
|
public function winnersbyitem()
|
|
{
|
|
= WinningBids::with(['items', 'bidders'])->get();
|
|
return view('winnersbyitem', ['winnersbyitem_results' => ]);
|
|
}
|
|
|
|
public function winnertotal(Request )
|
|
{
|
|
if (!->winnerbiddernum) {
|
|
return view('winnertotalform');
|
|
}
|
|
= ->winnerbiddernum;
|
|
= DB::select("SELECT
|
|
*, items.item_assigned_num
|
|
FROM winning_bids
|
|
INNER JOIN items AS items
|
|
ON winning_bids.winning_item_num=items.iditems
|
|
WHERE winning_bidder_num =
|
|
");
|
|
= DB::select("SELECT
|
|
winning_bids.*,
|
|
bidders.*,
|
|
sum(winning_cost) AS total_cost
|
|
FROM winning_bids
|
|
INNER JOIN bidders AS bidders
|
|
ON winning_bids.winning_bidder_num=bidders.idbidders
|
|
WHERE winning_bidder_num =
|
|
GROUP BY winning_bids.winning_bidder_num
|
|
");
|
|
return view('winnertotal', [
|
|
'winnertotal_list_results' => ,
|
|
'winnertotal_info_results' =>
|
|
]);
|
|
}
|
|
|
|
public function winningbidderlist()
|
|
{
|
|
= Bidders::whereHas('winningBids')
|
|
->orderBy('bidder_assigned_number')
|
|
->get();
|
|
return view('winningbidderlist', ['winning_bidders' => ]);
|
|
}
|
|
|
|
public function judgingentry(Request )
|
|
{
|
|
= \App\Models\Judges::all();
|
|
= \App\Models\Vehicles::select('vehicles.*')
|
|
->leftJoin('bidders', 'vehicles.owner', '=', 'bidders.bidder_assigned_number')
|
|
->orderByRaw('CAST(bidders.bidder_assigned_number AS UNSIGNED) ASC')
|
|
->get();
|
|
|
|
if (->isMethod('post')) {
|
|
= ->vehnum;
|
|
= ->judgenum;
|
|
= ->vehscore;
|
|
|
|
VehicleScores::updateOrCreate(
|
|
['vehicle' => , 'judge' => ],
|
|
['overall_score' => ]
|
|
);
|
|
|
|
return redirect('judgingentry');
|
|
}
|
|
|
|
return view('judgingentry', ['judges' => , 'vehicles' => ]);
|
|
}
|
|
|
|
public function showcars(Request )
|
|
{
|
|
if (!->bidderlname) {
|
|
= \App\Models\Vehicles::with('vehicleOwner')->get();
|
|
return view('showcars', ['vehicles' => ]);
|
|
}
|
|
= ->bidderlname;
|
|
= ->bidderfname;
|
|
= ->bidderaddr;
|
|
= ->biddercity;
|
|
= ->bidderstate;
|
|
= ->bidderzip;
|
|
= ->bidderphone;
|
|
= ->bidderemail;
|
|
= ->biddernum;
|
|
= ->vehyear;
|
|
= ->vehmake;
|
|
= ->vehmodel;
|
|
= ->vehtype;
|
|
if (->has('vehdonotjudge')) {
|
|
= 1;
|
|
} else {
|
|
= 0;
|
|
}
|
|
|
|
= Bidders::updateOrCreate(
|
|
[
|
|
'bidder_assigned_number' => ,
|
|
],
|
|
[
|
|
'bidder_lname' => ,
|
|
'bidder_fname' => ,
|
|
'bidder_addr' => ,
|
|
'bidder_city' => ,
|
|
'bidder_state' => ,
|
|
'bidder_zip' => ,
|
|
'bidder_phone' => ,
|
|
'bidder_email' =>
|
|
]
|
|
);
|
|
|
|
// = ->idbidders;
|
|
//dd();
|
|
|
|
= Vehicles::updateOrCreate(
|
|
[
|
|
'owner' => ,
|
|
],
|
|
[
|
|
'year' => ,
|
|
'make' => ,
|
|
'model' => ,
|
|
'type' => ,
|
|
'doNotJudge' =>
|
|
]
|
|
);
|
|
|
|
return redirect('showcars');
|
|
}
|
|
|
|
public function pcentry(Request )
|
|
{
|
|
if (!->vehnum) {
|
|
= Vehicles::all();
|
|
return view('pcentry', ['vehicles' => ]);
|
|
}
|
|
=->vehnum;
|
|
=->pc_count;
|
|
= PeoplesChoice::updateOrCreate(
|
|
[
|
|
'vehicle' => ,
|
|
],
|
|
[
|
|
'pc_count' =>
|
|
]
|
|
);
|
|
|
|
return redirect('pcentry');
|
|
}
|
|
|
|
public function judges(Request )
|
|
{
|
|
if (!->judgenum) {
|
|
return view('judges');
|
|
}
|
|
= ->judgenum;
|
|
= Judges::updateOrCreate(
|
|
[
|
|
'judge_number' => ,
|
|
]
|
|
);
|
|
|
|
return redirect('judges');
|
|
}
|
|
|
|
public function awardcategories(Request )
|
|
{
|
|
if (!->category) {
|
|
return view('awardcategories');
|
|
}
|
|
= ->category;
|
|
if (->has('vehtype')) {
|
|
= 1;
|
|
} else {
|
|
= 0;
|
|
}
|
|
= CarShowCategory::updateOrCreate(
|
|
[
|
|
'category_name' => ,
|
|
],
|
|
[
|
|
'vehicle_type' =>
|
|
]
|
|
);
|
|
|
|
return redirect('awardcategories');
|
|
}
|
|
public function showwinners()
|
|
{
|
|
= CarShowWinner::with(['awardCategory', 'awardVehicle', 'awardVehicle.vehicleOwner'])->get();
|
|
return view('carshowwinners', ['winners' => ]);
|
|
}
|
|
public function showscores()
|
|
{
|
|
= VehicleScores::with(['scoredVehicle'])
|
|
->groupBy('vehicle')
|
|
->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore')
|
|
->orderBy('totalscore', 'desc')
|
|
->get();
|
|
return view('carshowscores', ['scores_results' => ]);
|
|
}
|
|
public function showscoresbycar()
|
|
{
|
|
= VehicleScores::with(['scoredVehicle'])
|
|
->groupBy('vehicle')
|
|
->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore')
|
|
//->orderBy('scoredVehicle.vehicleOwner.bidder_assigned_number')
|
|
->orderByRaw('CAST((
|
|
SELECT owner
|
|
FROM vehicles
|
|
WHERE vehicles.id = vehicle_scores.vehicle
|
|
LIMIT 1
|
|
) AS UNSIGNED) ASC')
|
|
->get();
|
|
return view('carshowscores', ['scores_results' => ]);
|
|
}
|
|
public function showcarlist()
|
|
{
|
|
= Bidders::has('vehicles')
|
|
->join('vehicles', 'vehicles.owner', '=', 'bidders.bidder_assigned_number')
|
|
//->join('car_show_categories', 'vehicles.type', '=', 'car_show_categories.category_name')
|
|
->orderBy('bidder_assigned_number')
|
|
->get();
|
|
//dd();
|
|
return view('showcarlist', ['showcarlist_results' => ]);
|
|
}
|
|
|
|
public function myWinnings(Request )
|
|
{
|
|
if (!->bidder_number) {
|
|
return view('mywinnings_form');
|
|
}
|
|
|
|
= ->bidder_number;
|
|
= Bidders::where('bidder_assigned_number', )->first();
|
|
|
|
if (!) {
|
|
return view('mywinnings_form', ['error' => 'Bidder number not found.']);
|
|
}
|
|
|
|
= WinningBids::with('items')
|
|
->where('winning_bidder_num', ->idbidders)
|
|
->get();
|
|
|
|
= ->sum('winning_cost');
|
|
|
|
= \App\Models\Checkout::where('bidder_num', ->idbidders)->exists();
|
|
|
|
return view('mywinnings_results', [
|
|
'bidder' => ,
|
|
'winnings' => ,
|
|
'total_cost' => ,
|
|
'is_checked_out' =>
|
|
]);
|
|
}
|
|
}
|