コード例 #1
0
ファイル: BaseAdmin.php プロジェクト: pablozabo/Diarco
 static function updateCategoriaNovedad($categoriaNovedadDto)
 {
     $categoriaNovedad = BaseDao::getCategoriaNovedadById($categoriaNovedadDto->id);
     $result = new Result();
     try {
         $transaction = GenericDao::beginTransaction();
         $categoriaNovedad->nombre = $categoriaNovedadDto->nombre;
         $categoriaNovedad->descripcion = $categoriaNovedadDto->descripcion;
         $categoriaNovedad->enabled = $categoriaNovedadDto->enabled;
         $categoriaNovedad->updateDate = date("Y-m-d H:i:s", time());
         if ($categoriaNovedad->orden != $categoriaNovedadDto->orden) {
             $categoriasNovedad = $data = BaseDao::getAllCategoriasNovedad();
             $categoriasNovedadFiltered = Phinq::create($categoriasNovedad)->orderBy(function ($item) {
                 return $item->orden;
             })->where(function ($item) use($categoriaNovedadDto) {
                 return $item->id != $categoriaNovedadDto->id && $item->orden >= $categoriaNovedadDto->orden;
             })->toArray();
             $firstOrden = $categoriaNovedadDto->orden;
             foreach ($categoriasNovedadFiltered as $cf) {
                 $firstOrden++;
                 $cf->orden = $firstOrden;
                 BaseDao::updateCategoriaNovedad($cf, $transaction);
             }
         }
         $categoriaNovedad->orden = $categoriaNovedadDto->orden;
         BaseDao::updateCategoria($categoriaNovedad, $transaction);
         $transaction->commit();
     } catch (\Exception $ex) {
         $transaction->rollBack();
         $result->hasErrors = true;
         $result->messages = array($ex->getMessage());
     }
     $response = new Response($result, NULL);
     return json_encode($response);
 }