HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
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);
      }
    }
  }
}