HEX
Server: Apache/2.4.46 (Ubuntu)
System: Linux localhost 5.11.0-49-generic #55-Ubuntu SMP Wed Jan 12 17:36:34 UTC 2022 x86_64
User: root (0)
PHP: 7.4.16
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
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;
    }

}