public function transportVksProcessor(Request $request, Vks $vks)
 {
     $ca_pool_codes = App::$instance->callService("vks_ca_negotiator")->askForPool();
     //        die(dump($request));
     //if flag no create set return false
     if (!count($ca_pool_codes)) {
         App::$instance->callService('standart_controller')->backWithData('Пул из ЦА не удалось получить');
     }
     if ($request->get('ca_transport_no_create') || !$vks->other_tb_required || $vks->status != VKS_STATUS_APPROVED) {
         return new Response('Создание транспортной ВКС не запрошено', Response::HTTP_OK);
     }
     //check if received code
     if (!$request->get('ca_transport_code') || !strlen($request->get('ca_transport_code'))) {
         App::$instance->callService('standart_controller')->backWithData('Запрашивается выдача кода из ЦА, но значение не передано');
     }
     //check if code from pool
     if (!in_array($request->get('ca_transport_code'), $ca_pool_codes)) {
         App::$instance->callService('standart_controller')->backWithData('Запрашиваемый код вне пула ТБ');
     }
     //check if code can be given
     $currentVksStart = $vks->start_date_time;
     $currentVksEnd = $vks->end_date_time;
     $ca_transport_vkses = App::$instance->callService("vks_ca_negotiator")->aksTransportVksInPeriod($currentVksStart, $currentVksEnd, $ca_pool_codes);
     $codesFiltrated = array();
     foreach ($ca_pool_codes as $code) {
         $codesFiltrated[$code] = array();
         if (count($ca_transport_vkses)) {
             foreach ($ca_transport_vkses as $ca_tr_vks) {
                 if ($code == $ca_tr_vks->v_room_num) {
                     $codesFiltrated[$code][] = $ca_tr_vks;
                 }
             }
         }
     }
     if (isset($codesFiltrated[$request->get('ca_transport_code')]) && count($codesFiltrated[$request->get('ca_transport_code')])) {
         return new Response('Запрашиваемый код уже выдан и не может быть использован повторно', Response::HTTP_INTERNAL_SERVER_ERROR);
     } else {
         //create CA Object and send it
         $transportCaVks = new CaTransportVks();
         $transportCaVks->setTitle($vks->title);
         $transportCaVks->setDate($vks->date);
         $transportCaVks->setStartTime($vks->start_date_time);
         $transportCaVks->setEndTime($vks->end_date_time);
         $transportCaVks->setLocation(MY_NODE);
         $transportCaVks->setCaParticipants($vks->CaInPlaceParticipantCount->participants_count);
         $transportCaVks->setParticipants($vks->compileCaTransportIdsParticipants());
         $transportCaVks->setTb(MY_NODE);
         $transportCaVks->setIp(App::$instance->user->ip);
         $transportCaVks->setVRoomNum($request->get('ca_transport_code'));
         $transportCaVks->setOwnerId(App::$instance->user->id);
         $transportVks = App::$instance->callService("vks_ca_negotiator")->createTransitVksOnCA($transportCaVks);
         if (isset($transportVks->id)) {
             $vks->link_ca_vks_type = VKS_NS;
             $vks->link_ca_vks_id = $transportVks->id;
             $vks->save();
             return new Response("<p>Транспортная ВКС #" . $transportVks->id . " в ЦА, успешно создана</p>", Response::HTTP_OK);
         } else {
             //                dump($transportVks);
             //                die;
             return new Response("<p>Транспортная ВКС не может быть создана из-за ошибки: " . $transportVks . "</p>", Response::HTTP_INTERNAL_SERVER_ERROR);
         }
     }
 }