1: <?php
2:
3: 4: 5: 6: 7: 8: 9: 10:
11:
12: namespace App\Modules\SaleModule\Presenters;
13:
14: use App\Modules\BaseModule\Presenters\ActionPresenter,
15: App\Modules\SaleModule\Model\Sale;
16:
17: 18: 19:
20: class SalePresenter extends ActionPresenter{
21:
22:
23: private $sale;
24:
25: private $line = FALSE;
26:
27: public function __construct(Sale $sale) {
28: $this->sale = $sale;
29: parent::__construct();
30: }
31:
32: 33: 34: 35: 36:
37: public function beforeProcess($values){
38:
39: if (isset($values['product_id'])){
40: $sum = (float)$values['unit_price'] * (int)$values['qty'];
41: $values['full_price'] = round($sum,2);
42: $this->sale->prepareLine($values);
43: $this->line = TRUE;
44: }else{
45: $this->sale->prepareSale($values);
46: }
47: return $values;
48: }
49:
50: 51: 52: 53:
54: public function afterProcess($id){
55:
56: if(isset($id)){
57: if ($this->line){
58: $this->sale->processLine($id);
59: }else {
60: $this->sale->processSale();
61: }
62: }
63: }
64: }
65: