<?php
 namespace Module\ProductCategoryDefault;
 use TCMS\Controller;
 use Model\ProductCateModel;
 use Event;
 use Request;
 class IndexController extends Controller {
 public function __construct() {
 }
 public function index() {
 return view();
 }
 public function create() {
 return view();
 }
 public function postCreate(ProductCateModel $model) {
 if($model->isValid()) {
 if($model->insert()) {
 if(\Model::has("UrlModel")) {
 Event::raise('add_url', [ $model, \Model\UrlModel::PRODUCT_CATE ]);
 }
 Event::raise('add_product_cate', $model);
 return route_redirect('create', 'Thêm thành công');
 }
 view()->addErrorMessage('error', 'Thêm thất bại');
 }
 return view($model);
 }
 public function update($id) {
 $model = new ProductCateModel();
 $data = $model->find($id);
 return view($data);
 }
 public function postUpdate(ProductCateModel $model) {
 if($model->isValid()) {
 if($model->update()) {
 if(\Model::has("UrlModel")) {
 Event::raise('update_url', [$model, \Model\UrlModel::PRODUCT_CATE]);
 }
 return route_redirect('index', 'Cập nhật thành công');
 }
 view()->addErrorMessage('error', 'Cập nhật thất bại');
 }
 return view($model);
 }
 public function postDelete() {
 $id = Request::get('data');
 $model = new ProductCateModel();
 $isSuccess = $model->delete($id);
 if($isSuccess && \Model::has("UrlModel")) {
 \Event::raise('delete_url', [$id, \Model\UrlModel::PRODUCT_CATE]);
 }
 if(\Request::isAjax()) return json(['success' => $isSuccess, 'message' => 'Xóa thành công']);
 return route_redirect('index', $isSuccess ? 'Xóa thành công' : 'Xóa thất bại');
 }
 public function postDeletes() {
 $ids = explode(',', Request::get('data'));
 $idDeletes = [];
 foreach($ids as $id) {
 $idDeletes[] = (int)$id;
 }
 $model = new ProductCateModel();
 $isSuccess = $model->deletes($idDeletes);
 if(Request::isAjax()) return json(['success' => $isSuccess, 'message' => 'Xóa thành công ' . count($idDeletes) . ' loại sản phẩm']);
 return route_redirect('index', $isSuccess ? 'Xóa thành công' : 'Xóa thất bại');
 }
 }
