TimestampBehavior::className(), 'value' => function(){ return date('Y-m-d H:i:s' ); } ], [ 'class' => AccountAwareBehavior::className(), ], [ 'class' => UserAwareBehavior::className(), ], [ 'class' => DiscountAwareBehavior::className(), ], [ 'class' => ProductAwareBehavior::className(), ], [ 'class' => CurrencyAwareBehavior::className(), ], ], parent::behaviors()); } /** * @inheritdoc */ public function attributeLabels() { return [ 'id_sale' => Yii::t('common/sale', 'Id Sale'), 'id_discount' => Yii::t('common/sale', 'Id Discount'), 'id_currency' => Yii::t('common/sale', 'Id Currency'), 'id_product' => Yii::t('common/sale', 'Id Product'), 'status' => Yii::t('common/sale', 'Status'), 'type' => Yii::t('common/sale', 'Type'), 'item_price' => Yii::t('common/sale', 'Item Price'), 'count' => Yii::t('common/sale', 'Count'), 'money' => Yii::t('common/sale', 'Money'), 'money_currency' => Yii::t('common/sale', 'Money Currency'), 'rate' => Yii::t('common/sale', 'Rate'), 'id_user' => Yii::t('common/sale', 'Id User'), 'comment' => Yii::t('common/sale', 'Comment'), 'created_at' => Yii::t('common/sale', 'Created At'), 'updated_at' => Yii::t('common/sale', 'Updated At'), ]; } public static function createSale($account, $discount, $currency, $count,$product , $status = Sale::STATUS_PAID){ $sale = new Sale(); $sale->type = Sale::TYPE_PRODUCT; $sale->id_product = $product->id_product; $sale->item_price = $product->sale_price; $totalPrice = $sale->item_price; $sale->count = $count; $totalPrice = $totalPrice * $count; if ( isset( $discount ) ){ $sale->id_discount = $discount->id_discount; $totalPrice = Discount::applyDiscount( $totalPrice, $discount); } $sale->money = $totalPrice; if ( isset( $currency ) ){ $sale->rate = $currency->rate; $sale->money_currency = Currency::applyCurrency($totalPrice, $currency); } $sale->status = $status; $sale->id_account = $account->id_account; return $sale; } }