Files
silent-auction/app/Http/Controllers/PagesController.php
T

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