Viewing file: ShopController.php (5.11 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Http\Controllers;
use App\Models\Page;
use App\Models\ShopSettings;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Hash;
// use GuzzleHttp\Client;
use DateTime;
class ShopController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
//
}
// get Vendor
function index()
{
return "not allowed";
}
//create new vendor
public function create($vendor_id,Request $req)
{
$pt= new ShopSettings;
$pt_table = $pt->getTable();
$columns = \Schema::getColumnListing($pt_table);
$params = collect($req->all())->keys();
foreach ($params as $key) {
if (in_array($key,$columns,true)) {
continue;
}else{
return response()->json(['error' => 'true', 'message' =>"invalid field ".$key]);
}
}
DB::beginTransaction();
try {
$shop_settings = ShopSettings::create([
'shop_name' => $req->input('shop_name'),
'district' => $req->input('district'),
'address' => $req->input('address'),
'pick_up' => $req-input("pick_up"),
'free_delivery' => $req->input('free_delivery'),
'inside' =>$req->input('inside'),
'outside' => $req->input('outside'),
'free_minimum' => $req->input('free_minimum'),
'minimum_value' => $req->input('minimum_value'),
'shop_types' => $req->input('shop_types'),
'page_id' => $req->input('page_id'),
]);
} catch (\Exception $exception) {
DB::rollback();
return response()->json(['error' => 'true', 'message' =>$exception->errorInfo[2]]);
}
if ($shop_settings) {
try {
$page= Page::where('id', $req->input('page_id'))
->update(['active' => 1]);
} catch (\Exception $exception) {
DB::rollback();
return response()->json(['error' => 'true', 'message' =>$exception->errorInfo[2]]);
}
DB::commit();
$d = new DateTime();
$t=$d->format("ymdHisv");
$data=["_id"=>$t,"shop_id"=>$shop_settings->id,"created_at"=> $shop_settings->created_at];
return response()->json(['message' => "Shop Added Successfully","data"=>$data]);
} else {
DB::rollback();
return response()->json(['error' => 'true','message' => "Something is wrong please try again"]);
}
}
public function update($shop_id,Request $req)
{
$vendor = ShopSettings::where('id',$shop_id)->first();
if (empty($vendor)) {
return response()->json(['error' => 'true', 'message' =>"Invalid shop id"]);
}else{
$vendor->shop_name = $req->input('shop_name');
$vendor->district = $req->input('district');
$vendor->address = $req->input('address');
$vendor->shop_types = $req->input('shop_types');
$ven=$vendor->save();
if ($ven) {
return response()->json(['message' => "Shop Information Successfully Updated."]);
}else {
return response()->json(['error' => 'true', 'message' => "Something is wrong please try again."]);
}
}
}
public function delivery($shop_id,Request $req)
{
$vendor = ShopSettings::where('id',$shop_id)->first();
if (empty($vendor)) {
return response()->json(['error' => 'true', 'message' =>"Invalid shop id"]);
}else{
$vendor->pick_up = $req->input("pick_up");
$vendor->free_delivery = $req->input('free_delivery');
$vendor->inside = $req->input('inside');
$vendor->outside = $req->input('outside');
$vendor->free_minimum = $req->input('free_minimum');
$vendor->minimum_value = $req->input('minimum_value');
$ven=$vendor->save();
if ($ven==1) {
return response()->json(['message' => "Delivery Settings Successfully Updated."]);
}else {
return response()->json(['error' => 'true', 'message' => "Something is wrong please try again."]);
}
}
}
public function activation($page_id,Request $req)
{
DB::beginTransaction();
try {
$page= Page::where('page_id',$page_id )
->update(['active' => $req->input('active')]);
} catch (\Exception $exception) {
DB::rollback();
return response()->json(['error' => 'true', 'message' =>$exception->errorInfo[2]]);
}
DB::commit();
return response()->json(['message' => "Page Updated Successfully"]);
}
}
|