import ngModule from '../module'; import Component from 'core/lib/component'; class Controller extends Component { set edit(value) { this._edit = value; this.clearDiscount(); this.setNewDiscount(); } get edit() { return this._edit; } set bulk(value) { this._bulk = value; this.setNewDiscount(); } get bulk() { return this._bulk; } get newDiscount() { return this._newDiscount; } set newDiscount(value) { this._newDiscount = value; this.updateNewPrice(); } updateNewPrice() { if (this.newDiscount && this.edit[0]) this.newPrice = (this.edit[0].quantity * this.edit[0].price) - ((this.newDiscount * (this.edit[0].quantity * this.edit[0].price)) / 100); } setNewDiscount() { if (!this.newDiscount && this.edit[0]) this.newDiscount = this.edit[0].discount; } updateDiscount() { let salesIds = []; let modified = false; if (!this.newDiscount) return; for (let i = 0; i < this.edit.length; i++) { if (this.newDiscount != this.edit[0].discount || this.bulk || !this.newDiscount) { salesIds.push(this.edit[i].id); modified = true; } } if (modified) { const params = {salesIds: salesIds, newDiscount: this.newDiscount}; const query = `Tickets/${this.$params.id}/updateDiscount`; this.$http.post(query, params).then(() => { this.vnApp.showSuccess(this.$translate.instant('Data saved!')); this.clearDiscount(); modified = false; }).catch(e => { this.vnApp.showError(e.message); }); this.onHide(); } else this.vnApp.showError(this.$translate.instant('There are no changes to save')); } clearDiscount() { this.newDiscount = null; } } ngModule.component('vnTicketSaleEditDiscount', { template: require('./editDiscount.html'), controller: Controller, bindings: { edit: '