/** * Request handler to implement in child classes. * * @return JsonResponse */ protected function run() { $storage = AddProductController::getStorageArr(); foreach ($this->request->request as $prod_id => $discountData) { $storage[$prod_id]['discounts'][] = ["threshold" => $discountData['threshold'], "amount" => $discountData['amount'], "type" => $discountData['type'], "creationDate" => date("Y-m-d H:i:s"), "expiryDate" => null]; } AddProductController::saveStorageArr($storage); return $this->app->json(["status" => "OK"]); }
/** * Request handler to implement in child classes. * * @return JsonResponse */ protected function run() { $storage = AddProductController::getStorageArr(); $products = array_map(function ($p) use($storage) { $p['prices'] = $storage[$p['id']]['prices'] ?? []; $p['price'] = end($p['prices']); if (array_key_exists('discounts', $storage[$p['id']])) { $p['discounts'] = array_filter($storage[$p['id']]['discounts'], function ($d) { return $d['expiryDate'] === null; }); } return $p; }, $this->products); return $this->app["twig"]->render("productsInput.twig", ["products" => $products]); }
/** * Request handler to implement in child classes. * * @return JsonResponse */ protected function run() { $products = AddProductController::getStorageArr(); $prodId = $this->request->request->get("prodId"); $creationDate = $this->request->request->get("creationDate"); foreach ($products as $id => &$prod) { if ($id === $prodId) { foreach ($prod['discounts'] as &$d) { if ($d['creationDate'] === $creationDate) { $d['expiryDate'] = date("Y-m-d H:i:s"); } } } } AddProductController::saveStorageArr($products); return $this->app->json(["status" => "OK"]); }