File: /var/www/html/fieldsblaze-heroku/app/Http/Controllers/APIColletionController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Validator;
use DB;
use App\Library\UserLib;
use App\Models\User;
use App\Models\Product;
use App\Models\Customer;
use App\Models\PriceBookEntry;
use App\Models\Order;
use App\Models\OrderItems;
use App\Models\OrderStatus;
use App\Models\Countries;
use App\Models\Collection;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Support\Facades\Crypt;
///Test Git
class APIColletionController extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
protected $userLib;
protected $dateFormat = 'dd-mm-yyyy';
public function __construct(UserLib $userLib)
{
$this->userLib = $userLib;
}
//User Registration
public function createCollection(Request $request) {
//TODO What is device_token
$data = $request->json()->all();
$ColletionId = $this->userLib->useridGenrator();
$CreatedDate = date('Y-m-d H:i:s',time());
$UserId = $request->header('UserId');
$AuthToken = $request->header('AuthToken');
//check auth token
if($this->userLib->tokenChecker($request) == FALSE)
{
$response = [
'success' => false,
'error_message' => "Authentication Failed",
'error_code' => "301",
'ApiVersion' => env('APP_VERSION'),
];
return response()->json($response);
}
$data['ColletionId'] = $ColletionId;
$data['CollectionDate'] = $CreatedDate;
$data['Updated_at'] = $CreatedDate;
$data['Created_at'] = $CreatedDate;
$data['Created_by'] = $UserId;
$data['Updated_by'] = $UserId;
$collection_insert = Collection::insert($data);
if($collection_insert)
{
$CollectionDetails = Collection::where('ColletionId', '=', $ColletionId)->get()->first();
$response = [
'Success' => true,
'ResponseMessage' => "Colletion has been created",
'ResponseCode' => "200",
'Order' => $CollectionDetails,
'ApiUrl' => env('APP_URL'),
'ApiVersion' => env('APP_VERSION'),
];
return response()->json($response);
}
else
{
$response = [
'Success' => false,
'ResponseMessage' => "Invalid data",
'ResponseCode' => "204",
'ApiVersion' => env('APP_VERSION'),
];
return response()->json($response);
}
}
//getOrderDetails
public function collectionList(Request $request)
{
$data = $request->json()->all();
$UserId = $request->header('UserId');
$AuthToken = $request->header('AuthToken');
//check auth token
if($this->userLib->tokenChecker($request) == FALSE)
{
$response = [
'success' => false,
'error_message' => "Authentication Failed",
'error_code' => "301",
'ApiVersion' => env('APP_VERSION'),
];
return response()->json($response);
}
$Collection = Collection::select('*')
// ->where('CollectionId', 'like', $CollectionId)
->where('IsDeleted', '=', 0)
->orderBy('id', 'desc')
->get();
if ($Collection->count() > 0)
{
$response = [
'Success' => true,
'ResponseMessage' => "Success",
'ResponseCode' => "200",
'UserId' => $UserId,
'AuthToken' => $AuthToken,
'Collections' => $Collection,
'ApiUrl' => env('APP_URL'),
'ApiVersion' => env('APP_VERSION'),
];
return response()->json($response);
}
else
{
// fail
$response = [
'Success' => false,
'ResponseMessage' => "Collections does not exist",
'ResponseCode' => "201",
'ApiVersion' => env('APP_VERSION'),
];
return response()->json($response);
}
}
//getOrderDetails
public function collectionListFilter(Request $request, $filter='')
{
$data = $request->json()->all();
$UserId = $request->header('UserId');
$AuthToken = $request->header('AuthToken');
//check auth token
if($this->userLib->tokenChecker($request) == FALSE)
{
$response = [
'success' => false,
'error_message' => "Authentication Failed",
'error_code' => "301",
'ApiVersion' => env('APP_VERSION'),
];
return response()->json($response);
}
$today = date('Y-m-d',time());
//DB::enableQueryLog();
if(strtoupper($filter)==strtoupper('Today'))
{
$Collection = Collection::select('*')
// ->where('CollectionId', 'like', $CollectionId)
->where('IsDeleted', '=', 0)
->where('Created_at', 'like', '%'.$today.'%')
->orderBy('id', 'desc')
->get();
}
else if(strtoupper($filter)==strtoupper('UpComing'))
{
$Collection = Collection::select('*')
// ->where('CollectionId', 'like', $CollectionId)
->where('IsDeleted', '=', 0)
->where('Created_at', '>', $today)
->orderBy('id', 'desc')
->get();
}
else if(strtoupper($filter)==strtoupper('Past'))
{
$Collection = Collection::select('*')
// ->where('CollectionId', 'like', $CollectionId)
->where('IsDeleted', '=', 0)
->where('Created_at', '<', $today)
->orderBy('id', 'desc')
->get();
}
else
{
$Collection = Collection::select('*')
// ->where('CollectionId', 'like', $CollectionId)
->where('IsDeleted', '=', 0)
->orderBy('id', 'desc')
->get();
}
if ($Collection->count() > 0)
{
$response = [
'Success' => true,
'ResponseMessage' => "Success",
'ResponseCode' => "200",
'UserId' => $UserId,
'AuthToken' => $AuthToken,
'Collections' => $Collection,
'ApiUrl' => env('APP_URL'),
'ApiVersion' => env('APP_VERSION'),
];
return response()->json($response);
}
else
{
// fail
$response = [
'Success' => false,
'ResponseMessage' => "Collections does not exist",
'ResponseCode' => "201",
'ApiVersion' => env('APP_VERSION'),
];
return response()->json($response);
}
}
//getOrderStatusList
public function getOrderStatusList(Request $request, $CustomerId='') {
$data = $request->json()->all();
$UserId = $request->header('UserId');
$AuthToken = $request->header('AuthToken');
//check auth token
if($this->userLib->tokenChecker($request) == FALSE)
{
$response = [
'success' => false,
'error_message' => "Authentication Failed",
'error_code' => "301",
'ApiVersion' => env('APP_VERSION'),
];
return response()->json($response);
}
$OrderStatus = OrderStatus::select('*')
->where('Status', '=', '1')
->where('IsDeleted', '=', 0)
->get();
if ($OrderStatus->count() > 0)
{
$response = [
'Success' => true,
'ResponseMessage' => "Success",
'ResponseCode' => "200",
'UserId' => $UserId,
'AuthToken' => $AuthToken,
'OrderStatus' => $OrderStatus,
'ApiUrl' => env('APP_URL'),
'ApiVersion' => env('APP_VERSION'),
];
return response()->json($response);
}
else
{
// fail
$response = [
'Success' => false,
'ResponseMessage' => "OrderStatus does not exist",
'ResponseCode' => "201",
'ApiVersion' => env('APP_VERSION'),
];
return response()->json($response);
}
}
//deleteOrderItem
public function deleteOrderItem(Request $request) {
//TODO What is device_token
$CreatedDate = date('Y-m-d H:i:s',time());
$data = $request->json()->all();
$OrderId = $this->userLib->useridGenrator();
$UserId = $request->header('UserId');
$AuthToken = $request->header('AuthToken');
//check auth token
if($this->userLib->tokenChecker($request) == FALSE)
{
$response = [
'success' => false,
'error_message' => "Authentication Failed",
'error_code' => "301",
'ApiVersion' => env('APP_VERSION'),
];
return response()->json($response);
}
$CustomerId = isset($data['CustomerId']) ? $data['CustomerId'] : '';
$OrderId = isset($data['OrderId']) ? $data['OrderId'] : '';
$OrderItemId = isset($data['OrderItemId']) ? $data['OrderItemId'] : '';
if(!$OrderId)
{
$response = [
'success' => false,
'error_message' => "OrderId required",
'error_code' => "302",
'ApiVersion' => env('APP_VERSION'),
];
return response()->json($response);
}
$tmpdata = array();
$tmpdata['IsDeleted'] = '1';
$tmpdata['Updated_by'] = $UserId;
$tmpdata['Updated_at'] = $CreatedDate;
$orderItemDelete = OrderItems::where('OrderId',$OrderId)->where('OrderItemId',$OrderItemId)->update($tmpdata);
if($orderItemDelete)
{
$response = [
'Success' => true,
'ResponseMessage' => "Order Item has been deleted",
'ResponseCode' => "200",
'ApiUrl' => env('APP_URL'),
'ApiVersion' => env('APP_VERSION'),
];
return response()->json($response);
}
else
{
// fail
$response = [
'Success' => false,
'ResponseMessage' => "Invalid data",
'ResponseCode' => "202",
'ApiVersion' => env('APP_VERSION'),
];
return response()->json($response);
}
}
//User Registration
public function deleteOrder(Request $request) {
//TODO What is device_token
$CreatedDate = date('Y-m-d H:i:s',time());
$data = $request->json()->all();
$OrderId = $this->userLib->useridGenrator();
$UserId = $request->header('UserId');
$AuthToken = $request->header('AuthToken');
//check auth token
if($this->userLib->tokenChecker($request) == FALSE)
{
$response = [
'success' => false,
'error_message' => "Authentication Failed",
'error_code' => "301",
'ApiVersion' => env('APP_VERSION'),
];
return response()->json($response);
}
$CustomerId = isset($data['CustomerId']) ? $data['CustomerId'] : '';
$OrderId = isset($data['OrderId']) ? $data['OrderId'] : '';
if(!$OrderId)
{
$response = [
'success' => false,
'error_message' => "OrderId required",
'error_code' => "302",
'ApiVersion' => env('APP_VERSION'),
];
return response()->json($response);
}
if(!$CustomerId)
{
$response = [
'success' => false,
'error_message' => "CustomerId required",
'error_code' => "303",
'ApiVersion' => env('APP_VERSION'),
];
return response()->json($response);
}
$tmpdata = array();
$tmpdata['IsDeleted'] = '1';
$tmpdata['Updated_by'] = $UserId;
$tmpdata['Updated_at'] = $CreatedDate;
$orderDelete = Order::where('OrderId',$OrderId)->where('CustomerId',$CustomerId)->update($tmpdata);
if($orderDelete)
{
$tmpdata = array();
$tmpdata['IsDeleted'] = '1';
$tmpdata['Updated_by'] = $UserId;
$tmpdata['Updated_at'] = $CreatedDate;
$orderItemDelete = OrderItems::where('OrderId',$OrderId)->where('CustomerId',$CustomerId)->update($tmpdata);
$response = [
'Success' => true,
'ResponseMessage' => "Order has been Deleted",
'ResponseCode' => "200",
'ApiUrl' => env('APP_URL'),
'ApiVersion' => env('APP_VERSION'),
];
return response()->json($response);
}
else
{
// fail
$response = [
'Success' => false,
'ResponseMessage' => "Invalid data",
'ResponseCode' => "202",
'ApiVersion' => env('APP_VERSION'),
];
return response()->json($response);
}
}
function count_digit($number) {
return strlen($number);
}
function divider($number_of_digits)
{
$tens="1";
if($number_of_digits>8)
return 10000000;
while(($number_of_digits-1)>0)
{
$tens.="0";
$number_of_digits--;
}
return $tens;
}
}