AnalysisItemViewCell.swift 7.38 KB
//
//  AnalysisItemViewCell.swift
//  SwiftWarplyFramework
//
//  Created by Manos Chorianopoulos on 18/7/22.
//

import UIKit

class AnalysisItemViewCell: UITableViewCell {

    @IBOutlet weak var dateLabel: UILabel!
    @IBOutlet weak var itemImage: UIImageView!
    @IBOutlet weak var titleLabel: UILabel!
    @IBOutlet weak var priceLabel: UILabel!
    @IBOutlet weak var subtitleLabel: UILabel!

    var postImageURL: String? {
        didSet {
            if let url = postImageURL {
                self.itemImage.image = UIImage() // UIImage(named: "loading")

                UIImage.loadImageUsingCacheWithUrlString(url) { image in
                    // set the image only when we are still displaying the content for the image we finished downloading
                    if url == self.postImageURL {
                        self.itemImage.image = image
                    }
                }
            }
            else {
                self.itemImage.image = nil
            }
        }
    }
    
    // lifecycle
    override func awakeFromNib() {
        super.awakeFromNib()
        
        // date
        dateLabel.textColor = UIColor(rgb: 0x212121)
        
        // title
        titleLabel.textColor = UIColor(rgb: 0x212121)
        
        // price
        priceLabel.textColor = UIColor(rgb: 0x212121)
        
        // subtitle
//        subtitleLabel.textColor = UIColor(rgb: 0x9D9D9C)
        subtitleLabel.textColor = UIColor(rgb: 0x212121)
    }
}

extension AnalysisItemViewCell {
   func configureCell(item: swiftApi.SharingCouponModel) {

        let merchantList:Array<swiftApi.MerchantModel> = swiftApi().getMerchantList()

        titleLabel.text = ""

        for merchant in merchantList {
            if (merchant._uuid == item._merchant_uuid) {
            //    itemImage.load(link: merchant._img_preview, placeholder: UIImage(), cache: URLCache())
                self.postImageURL = merchant._img_preview
               titleLabel.text = merchant._admin_name
               break;
           }
        }
       
       dateLabel.text = item._date
        // titleLabel.text = item._name
       
       let priceFloat = Float(round(100 * (Float(item._final_price) )) / 100)
       var priceString = "0"
       priceString  = String(format: "%.2f", priceFloat).replacingOccurrences(of: ".", with: ",", options: .literal, range: nil)
       priceLabel.text = priceString + "€"
        
        if ("sent" == item._sharing_type) {
            subtitleLabel.text = String(format: "Εκπτωτικό κουπόνι προς " + item._receiver_msisdn)
        } else if ("received" == item._sharing_type) {
            subtitleLabel.text = String(format: "Εκπτωτικό κουπόνι από " + item._sender_msisdn)
        }
    }
    
    func configureCell(item: swiftApi.SharingCouponModel, isMarket: Bool) {

         let merchantList:Array<swiftApi.MerchantModel> = swiftApi().getMerchantList()
         let couponSetData: swiftApi.CouponSetItemModel? = item._sm_couponset_data

         titleLabel.text = ""

         for merchant in merchantList {
            if (merchant._uuid == item._merchant_uuid) {
            //    itemImage.load(link: merchant._img_preview, placeholder: UIImage(), cache: URLCache())
                 self.postImageURL = merchant._img_preview
                titleLabel.text = merchant._admin_name
                break;
            }
         }
        
        dateLabel.text = item._date
         // titleLabel.text = item._name
//        titleLabel.text = couponSetData?.name ?? ""
        
//        let priceFloat = Float(round(100 * (Float(item._final_price) )) / 100)
        let priceFloat = Float(round(100 * (Float(couponSetData?.final_price ?? 0.0) )) / 100)
        var priceString = "0"
        priceString  = String(format: "%.2f", priceFloat).replacingOccurrences(of: ".", with: ",", options: .literal, range: nil)
        priceLabel.text = priceString + "€"
         
        if ("sent" == item._sharing_type) {
            subtitleLabel.text = String(format: "Εκπτωτικό κουπόνι προς " + item._receiver_msisdn)
        } else if ("received" == item._sharing_type) {
            subtitleLabel.text = String(format: "Εκπτωτικό κουπόνι από " + item._sender_msisdn)
        }
    }
    
    func configureCell(item: swiftApi.CouponItemModel) {
        
//        COUPONSET: desc, img_preview, name, terms, merchant_uuid
//        COUPON: coupon, expiration, discount, status
//        MERCHANT: _img_preview,_admin_name
                
        let merchantList:Array<swiftApi.MerchantModel> = swiftApi().getMerchantList()
        let couponSetData: swiftApi.CouponSetItemModel? = item.couponset_data
        
        titleLabel.text = ""
        
        for merchant in merchantList {
            if (merchant._uuid == couponSetData?.merchant_uuid) {
                // itemImage.load(link: merchant._img_preview, placeholder: UIImage(), cache: URLCache())
                self.postImageURL = merchant._img_preview
                titleLabel.text = merchant._admin_name
                break;
            }
        }
        
        dateLabel.text = item.redeemed ?? "" // expiration
//         itemImage.load(link: couponSetData?.img_preview ?? "", placeholder: UIImage(), cache: URLCache())
//         titleLabel.text = couponSetData?.name ?? ""
        
        let priceFloat = Float(round(100 * (Float(couponSetData?.final_price ?? 0.0) )) / 100)
        var priceString = "0"
        priceString  = String(format: "%.2f", priceFloat).replacingOccurrences(of: ".", with: ",", options: .literal, range: nil)
        priceLabel.text = priceString + "€"
         
        subtitleLabel.text = "Έκπτωτικό κουπόνι"
//        subtitleLabel.text = couponSetData?.short_description ?? ""
        // OR
//        let htmlText = couponSetData?.inner_text ?? ""
//        subtitleLabel.text = htmlText.htmlToString
        
     }
    
    func configureCell(item: swiftApi.CouponItemModel, isMarket: Bool) {
        
//        COUPONSET: desc, img_preview, name, terms, merchant_uuid
//        COUPON: coupon, expiration, discount, status
//        MERCHANT: _img_preview,_admin_name
                
        let merchantList:Array<swiftApi.MerchantModel> = swiftApi().getMerchantList()
//        let couponSetData: swiftApi.CouponSetItemModel? = item.couponset_data

        titleLabel.text = ""
        
        for merchant in merchantList {
            if (merchant._uuid == item.merchant_uuid) {
                // itemImage.load(link: merchant._img_preview, placeholder: UIImage(), cache: URLCache())
                self.postImageURL = merchant._img_preview
                titleLabel.text = merchant._admin_name
                break;
            }
        }

//        titleLabel.text = item.name
//        self.postImageURL = item.image
        
        dateLabel.text = item.redeemed ?? ""
        
        let priceFloat = Float(round(100 * (Float(item.discount ?? "0.0") ?? 0.0 )) / 100)
        var priceString = "0"
        priceString  = String(format: "%.2f", priceFloat).replacingOccurrences(of: ".", with: ",", options: .literal, range: nil)
        priceLabel.text = priceString + "€"
         
        subtitleLabel.text = "Έκπτωτικό κουπόνι"
//        subtitleLabel.text = couponSetData?.short_description ?? ""
        // OR
//        let htmlText = couponSetData?.inner_text ?? ""
//        subtitleLabel.text = htmlText.htmlToString
        
     }
}