/**
  * Save slice
  *
  * @return \Symfony\Component\HttpFoundation\RedirectResponse
  */
 public function saveAction()
 {
     $response = $this->checkAuth([], ['customdelivery'], AccessManager::UPDATE);
     if (null !== $response) {
         return $response;
     }
     $this->checkXmlHttpRequest();
     $responseData = ["success" => false, "message" => '', "slice" => null];
     $messages = [];
     $response = null;
     $config = CustomDelivery::getConfig();
     try {
         $requestData = $this->getRequest()->request;
         if (0 !== ($id = intval($requestData->get('id', 0)))) {
             $slice = CustomDeliverySliceQuery::create()->findPk($id);
         } else {
             $slice = new CustomDeliverySlice();
         }
         if (0 !== ($areaId = intval($requestData->get('area', 0)))) {
             $slice->setAreaId($areaId);
         } else {
             $messages[] = $this->getTranslator()->trans('The area is not valid', [], CustomDelivery::MESSAGE_DOMAIN);
         }
         if ($config['method'] != CustomDelivery::METHOD_WEIGHT) {
             $priceMax = floatval($requestData->get('priceMax', 0));
             if (0 != $priceMax) {
                 $slice->setPriceMax($priceMax);
             } else {
                 $messages[] = $this->getTranslator()->trans('The price max value is not valid', [], CustomDelivery::MESSAGE_DOMAIN);
             }
         }
         if ($config['method'] != CustomDelivery::METHOD_PRICE) {
             $weightMax = floatval($requestData->get('weightMax', 0));
             if (0 != $weightMax) {
                 $slice->setWeightMax($weightMax);
             } else {
                 $messages[] = $this->getTranslator()->trans('The weight max value is not valid', [], CustomDelivery::MESSAGE_DOMAIN);
             }
         }
         $price = floatval($requestData->get('price', 0));
         $slice->setPrice($price);
         if (0 === count($messages)) {
             $slice->save();
             $messages[] = $this->getTranslator()->trans('Your slice has been saved', [], CustomDelivery::MESSAGE_DOMAIN);
             $responseData['success'] = true;
             $responseData['slice'] = $slice->toArray(TableMap::TYPE_STUDLYPHPNAME);
         }
     } catch (\Exception $e) {
         $message[] = $e->getMessage();
     }
     $responseData['message'] = $messages;
     return $this->jsonResponse(json_encode($responseData));
 }
 /**
  * Exclude object from result
  *
  * @param   ChildCustomDeliverySlice $customDeliverySlice Object to remove from the list of results
  *
  * @return ChildCustomDeliverySliceQuery The current query, for fluid interface
  */
 public function prune($customDeliverySlice = null)
 {
     if ($customDeliverySlice) {
         $this->addUsingAlias(CustomDeliverySliceTableMap::ID, $customDeliverySlice->getId(), Criteria::NOT_EQUAL);
     }
     return $this;
 }