src/AppBundle/Controller/LocationController.php line 158

Open in your IDE?
  1. <?php
  2. namespace AppBundle\Controller;
  3. use Pimcore\Controller\FrontendController;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use Symfony\Component\HttpFoundation\Response;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. use \Pimcore\Model\DataObject;
  8. use AppBundle\Service\UtilService;
  9. use Pimcore\Tool;
  10. use Symfony\Component\HttpClient\HttpClient;
  11. class LocationController extends FrontendController
  12. {
  13.     /**
  14.      * @Route("/api/location/getstate", methods={"POST","HEAD","OPTIONS"})
  15.      */
  16.     public function getstateAction(Request $request)
  17.     {
  18.         if ($request->getMethod() === 'OPTIONS') {
  19.             $response = new Response();
  20.             $response->headers->set('Content-Type''application/json');
  21.             $response->headers->set('Access-Control-Allow-Origin''*');
  22.             $response->headers->set('Access-Control-Allow-Methods''POST, HEAD, OPTIONS');
  23.             $response->headers->set('Access-Control-Allow-Headers''Content-Type, Authorization');
  24.             return $response;
  25.         }
  26.         
  27.             $response = new Response();
  28.             $response->headers->set('Content-Type''application/json');
  29.             $response->headers->set('Access-Control-Allow-Origin''*');
  30.             $response->headers->set('Access-Control-Allow-Methods''POST, HEAD, OPTIONS');
  31.             $response->headers->set('Access-Control-Allow-Headers''Content-Type, Authorization');
  32.             $requestArr json_decode($request->getContent(),true);
  33.             $stateName $requestArr['stateName'];
  34.             $stateCode $requestArr['stateCode'];
  35.             if($stateName != ""){
  36.                 $stateListing DataObject\Region::getByName($stateName);
  37.             }
  38.             else if($stateCode != ""){
  39.                 $stateListing DataObject\Region::getByCode($stateCode);
  40.             }else{
  41.                 $stateListing = new DataObject\Region\Listing();
  42.             }
  43.             $stateArry=[];
  44.             if($stateListing->getCount() > 0){
  45.                 $stateData $stateListing->load();
  46.                 foreach ($stateData as $state) {
  47.                     $tmpArr=[];
  48.                     $tmpArr['stateName'] = $state->getName();
  49.                     $tmpArr['stateCode'] = $state->GetCode();
  50.                     array_push($stateArry$tmpArr);
  51.                 }
  52.                 $response->setContent(json_encode(array('success' => 'true''errors' => [], 'data' => $stateArry)));
  53.                 $response->setStatusCode(200);
  54.                 return $response;
  55.             }else{
  56.                 $response->setContent(json_encode(array('success' => 'false''errors' => ['No Data Available'], 'data' => [])));
  57.                 $response->setStatusCode(404);
  58.                 return $response;
  59.             }
  60.     }
  61.     /**
  62.      * @Route("/api/location/getcity", methods={"POST","HEAD"})
  63.      */
  64.     public function getcityAction(Request $request)
  65.     {
  66.         $requestArr json_decode($request->getContent(),true);
  67.         $cityName $requestArr['cityName'];
  68.         $cityCode $requestArr['cityCode'];
  69.         $stateCode $requestArr['stateCode'];
  70.         if($cityName != ""){
  71.             $cityListing DataObject\City::getByName($cityName);
  72.         }else if($cityCode != ''){
  73.             $cityListing DataObject\City::getByCode($cityCode);
  74.         }
  75.         else if($stateCode != ""){
  76.             $cityListing DataObject\City::getByStateCode($stateCode);
  77.         }else{
  78.             $cityListing = new DataObject\City\Listing();
  79.         }
  80.         $cityArry=[];
  81.         if($cityListing->getCount() > 0){
  82.             $cityData $cityListing->load();
  83.             foreach ($cityData as $city) {
  84.                 $tmpArr=[];
  85.                 $tmpArr['cityName'] = $city->getName();
  86.                 $tmpArr['cityCode'] = $city->GetCode();
  87.                 $tmpArr['stateCode'] = $city->getStateCode();
  88.                 array_push($cityArry$tmpArr);
  89.             }
  90.             $response = new Response();
  91.             $response->setContent(json_encode(array('success' => 'true''errors' => [], 'data' => $cityArry)));
  92.             $response->setStatusCode(200);
  93.             $response->headers->set('Content-Type''application/json');
  94.             return $response;
  95.         }else{
  96.             $response = new Response();
  97.             $response->setContent(json_encode(array('success' => 'false''errors' => ['No Data Available'], 'data' => [])));
  98.             $response->setStatusCode(404);
  99.             $response->headers->set('Content-Type''application/json');
  100.             return $response;
  101.         }
  102.     }
  103.     /**
  104.      * @Route("/api/location/getdistrict", methods={"POST","HEAD"})
  105.      */
  106.     public function getdistrictAction(Request $request)
  107.     {
  108.         $requestArr json_decode($request->getContent(),true);
  109.         $cityName $requestArr['districtName'];
  110.         $cityCode $requestArr['districtCode'];
  111.         $stateCode $requestArr['stateCode'];
  112.         if($cityName != ""){
  113.             $cityListing DataObject\District::getByName($cityName);
  114.         }else if($cityCode != ''){
  115.             $cityListing DataObject\District::getByCode($cityCode);
  116.         }
  117.         else if($stateCode != ""){
  118.             $cityListing DataObject\District::getByStateCode($stateCode);
  119.         }else{
  120.             $cityListing = new DataObject\District\Listing();
  121.         }
  122.         $cityArry=[];
  123.         if($cityListing->getCount() > 0){
  124.             $cityData $cityListing->load();
  125.             foreach ($cityData as $city) {
  126.                 $tmpArr=[];
  127.                 $tmpArr['districtName'] = $city->getName();
  128.                 $tmpArr['districtCode'] = $city->GetCode();
  129.                 $tmpArr['stateCode'] = $city->getStateCode();
  130.                 array_push($cityArry$tmpArr);
  131.             }
  132.             $response = new Response();
  133.             $response->setContent(json_encode(array('success' => 'true''errors' => [], 'data' => $cityArry)));
  134.             $response->setStatusCode(200);
  135.             $response->headers->set('Content-Type''application/json');
  136.             return $response;
  137.         }else{
  138.             $response = new Response();
  139.             $response->setContent(json_encode(array('success' => 'false''errors' => ['No Data Available'], 'data' => [])));
  140.             $response->setStatusCode(404);
  141.             $response->headers->set('Content-Type''application/json');
  142.             return $response;
  143.         }
  144.     }
  145.     /**
  146.      * @Route("/api/location/pincode", methods={"POST","HEAD"})
  147.      */
  148.     public function getpincodeAction(Request $request)
  149.     {
  150.         $requestArr json_decode($request->getContent(),true);
  151.         $pincode $requestArr['pincode'];
  152.         if($pincode != "") {
  153.             $pincodeListing DataObject\Pincode::getByCode($pincode);
  154.             $pinArry = [];
  155.             if ($pincodeListing->getCount() > 0) {
  156.                 $pincodeData $pincodeListing->load();
  157.                 foreach ($pincodeData as $pin) {
  158.                     $tmpArr = [];
  159.                     $tmpArr['pincode'] = $pin->getCode();
  160.                     $tmpArr['cityCode'] = $pin->getCityCode();
  161.                     //get City name from city code
  162.                     $cityDataListing DataObject\City::getByCode($pin->getCityCode());
  163.                     if($cityDataListing->getCount() > 0){
  164.                         $cityData $cityDataListing->load()[0];
  165.                         $tmpArr['cityName'] = ucfirst($cityData->getName());
  166.                     }else{
  167.                         $tmpArr['cityName'] = '';
  168.                     }
  169.                     $tmpArr['stateCode'] = $pin->getStateCode();
  170.                     //Get State Name from State Code
  171.                     $stateDataListing DataObject\Region::getByCode($pin->getStateCode());
  172.                     if($stateDataListing->getCount() > 0){
  173.                         $stateData $stateDataListing->load()[0];
  174.                         $tmpArr['stateName'] = ucfirst($stateData->getName());
  175.                     }else{
  176.                         $tmpArr['stateName'] = '';
  177.                     }
  178.                     $tmpArr['districtCode'] = $pin->getDistrictCode();
  179.                     $tmpArr['districtName'] = $pin->getDistrictName();
  180.                     $tmpArr['dealerCode'] = $pin->getDealerCode();
  181.                     if($pin->getIsSupportedByCitroenDirect() == true){
  182.                         $tmpArr['isServiceByCitroenDirect'] = $pin->getIsSupportedByCitroenDirect();
  183.                     }else{
  184.                         $tmpArr['isServiceByCitroenDirect'] = false;
  185.                     }
  186.                     if($pin->getIsSupportedByCommercial() == true){
  187.                         $tmpArr['isServiceByCommercial'] = $pin->getIsSupportedByCommercial();
  188.                     }else{
  189.                         $tmpArr['isServiceByCommercial'] = false;
  190.                     }
  191.                     if($pin->getIsServiceByCitroenDirecteC3() == true){
  192.                         $tmpArr['isServiceByCitroenDirecteC3'] = $pin->getIsServiceByCitroenDirecteC3();
  193.                     }else{
  194.                         $tmpArr['isServiceByCitroenDirecteC3'] = false;
  195.                     }
  196.                     $tmpArr['axisCityCode'] = $pin->getAxisCityId();
  197.                     $tmpArr['axisCityName'] = $pin->getAxisCityName();
  198.                     $tmpArr['axisStateName'] = $pin->getAxisStateName();
  199.                     $tmpArr['latitude'] = $pin->getLatitude();
  200.                     $tmpArr['longitude'] = $pin->getLongitude();
  201.                     array_push($pinArry$tmpArr);
  202.                 }
  203.                 $response = new Response();
  204.                 $response->setContent(json_encode(array('success' => 'true''errors' => [], 'data' => $pinArry)));
  205.                 $response->setStatusCode(200);
  206.                 $response->headers->set('Content-Type''application/json');
  207.                 return $response;
  208.             } else {
  209.                 $response = new Response();
  210.                 $response->setContent(json_encode(array('success' => 'false''errors' => ['No Data Available'], 'data' => [])));
  211.                 $response->setStatusCode(404);
  212.                 $response->headers->set('Content-Type''application/json');
  213.                 return $response;
  214.             }
  215.         }else{
  216.             $response = new Response();
  217.             $response->setContent(json_encode(array('success' => 'false''errors' => ['Missing required attribute pincode'], 'data' => [])));
  218.             $response->setStatusCode(400);
  219.             $response->headers->set('Content-Type''application/json');
  220.             return $response;
  221.         }
  222.     }
  223. }