Overview

Namespaces

  • App
    • Components
    • Interfaces
    • Lib
      • Files
      • Forms
        • Controls
      • Html
      • Repair
      • Statics
    • Model
    • Modules
      • BaseModule
        • Presenters
      • PartnersModule
        • Presenters
      • ProductModule
        • Presenters
      • SaleModule
        • Model
        • Presenters
      • SettingsModule
        • Model
        • Presenters
      • StoreModule
        • Model
        • Presenters
    • Presenters
    • Router
  • PHP

Classes

  • DateTime
  • SplFileInfo

Interfaces

  • ArrayAccess
  • Countable
  • Exception
  • Iterator
  • Traversable
  • Overview
  • Namespace
  • Class
  • Tree
  • Deprecated
  • Download
 1: <?php
 2: 
 3: /**
 4:  * Project sberp
 5:  *
 6:  * @file SalePresenter 
 7:  * @author Jaromír Polášek
 8:  * @version 0.8.3.PREMATH
 9:  * Encoding UTF-8
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:  * Presenter sale - Zakázky
19:  */
20: class SalePresenter extends ActionPresenter{
21:     
22:     /** @var \App\Modules\SaleModule\Model\Sale */
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:      * vypočte Celkovou cenu
34:      * @param array $values
35:      * @return array
36:      */
37:     public function beforeProcess($values){
38:     //Kód vykonaný předo uložením záznamu
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:      * provede se po úspěšném zápisu do databáze
52:      * @param integer $id Id právě uloženého záznamu
53:      */
54:     public function afterProcess($id){
55:     //Kód vykonaný po uložení záznamu
56:     if(isset($id)){
57:         if ($this->line){
58:         $this->sale->processLine($id);
59:         }else {
60:         $this->sale->processSale();
61:         }
62:     }
63:     }   
64: }
65: 
sberp API API documentation generated by ApiGen