File: /var/www/vhost/disk-apps/pwa.sports-crowd.com/src/app/pages/discount-detail/discount-detail.ts
import { Component, OnInit } from "@angular/core";
import { NavController, NavParams, ModalController } from "@ionic/angular";
import { CorporateIdentityService } from "../../services/corporate-identity.service";
@Component({
selector: "page-discount-detail",
templateUrl: "discount-detail.html",
styleUrls: ["./discount-detail.scss"],
})
export class DiscountDetailPage implements OnInit {
orderDetail: any;
listDiscount = [];
listProductDiscount = [];
typeDiscount: any;
currency: string;
constructor(
private corporateIdentityService: CorporateIdentityService,
public navCtrl: NavController,
public navParams: NavParams,
public modalCtrl: ModalController
) {
this.orderDetail = navParams.get("orderDetail");
this.typeDiscount = navParams.get("typeDiscount");
this.currency = this.corporateIdentityService.getCurrency();
}
ngOnInit() {
this.detalDiscountOrder(this.orderDetail);
}
cancel() {
this.modalCtrl.dismiss();
}
detalDiscountOrder(orderDetail) {
for (let i = 0; i < orderDetail.discount_order_user.length; i++) {
if (this.typeDiscount == "discountOrder" && orderDetail.discount_order_user[i].discount.discount_type_id != 1) {
if (orderDetail.discount_order_user[i].discount.discount_type_id != 10) {
let priceDiscount = 0;
if (orderDetail.discount_order_user[i].discount.price_discount) {
priceDiscount = orderDetail.discount_order_user[i].discount.price_discount;
} else {
priceDiscount =
((orderDetail.subtotal + orderDetail.cost_delivery) * orderDetail.discount_order_user[i].discount.percentage_discount) / 100;
}
let currentDiscount = {
name: orderDetail.discount_order_user[i].discount.name,
priceDiscount: priceDiscount,
};
this.listDiscount.push(currentDiscount);
}
if (orderDetail.discount_order_user[i].discount.discount_type_id == 10 && orderDetail.discount_order_user[i].discount.apply_value) {
let priceDiscount = 0;
for (let k = 0; k < orderDetail.discount_product_users.length; k++) {
if (orderDetail.discount_order_user[i].discount.price_discount) {
priceDiscount += orderDetail.discount_product_users[k].quantity * orderDetail.discount_order_user[i].discount.price_discount;
} else {
priceDiscount +=
(orderDetail.discount_product_users[k].price_bruto *
orderDetail.discount_product_users[k].quantity *
orderDetail.discount_order_user[i].discount.percentage_discount) /
100;
}
}
let currentDiscount = {
name: orderDetail.discount_order_user[i].discount.name,
priceDiscount: priceDiscount,
};
this.listDiscount.push(currentDiscount);
}
} else if (
(this.typeDiscount == "discountDelivery" && orderDetail.discount_order_user[i].discount.discount_type_id == 1) ||
(this.typeDiscount == "discountDelivery" &&
orderDetail.discount_order_user[i].discount.discount_type_id == 10 &&
!orderDetail.discount_order_user[i].discount.apply_value)
) {
let priceDiscount = 0;
if (orderDetail.discount_order_user[i].discount.price_discount) {
priceDiscount = orderDetail.discount_order_user[i].discount.price_discount;
} else {
priceDiscount =
((orderDetail.cost_delivery + orderDetail.discount_delivery) * orderDetail.discount_order_user[i].discount.percentage_discount) / 100;
}
let currentDiscount = {
name: orderDetail.discount_order_user[i].discount.name,
priceDiscount: priceDiscount,
};
this.listDiscount.push(currentDiscount);
}
}
for (let k = 0; k < orderDetail.products.length; k++) {
let productDiscount: any = { name: "", discount: 0 };
if (orderDetail.products[k].flash_price) {
productDiscount.name = orderDetail.products[k].products.name;
productDiscount.discount = (orderDetail.products[k].price_bruto - orderDetail.products[k].flash_price) * orderDetail.products[k].quantity;
} else if (orderDetail.products[k].percentage_discount) {
productDiscount.name = orderDetail.products[k].products.name;
productDiscount.discount =
((orderDetail.products[k].price_bruto * orderDetail.products[k].percentage_discount) / 100) * orderDetail.products[k].quantity;
}
if (productDiscount.discount) {
this.listProductDiscount.push(productDiscount);
}
}
}
}