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