public function move($type, $id, $before_id, $parent_id)
 {
     if ($type == 'category') {
         $category_model = new shopCategoryModel();
         if (!$category_model->move($id, $before_id, $parent_id)) {
             $this->errors = array('Error when move');
         } else {
             if ($parent_id) {
                 $parent = $category_model->getById($parent_id);
                 $this->response['count'] = array('count' => $parent['count'], 'subtree' => $category_model->getTotalProductsCount($parent_id));
             }
         }
     } else {
         if ($type == 'set') {
             $set_model = new shopSetModel();
             if (!$set_model->move($id, $before_id)) {
                 $this->errors = array('Error when move');
             }
         } else {
             throw new waException('Unknown list type: ' . $type);
         }
     }
 }