/*----------------------------------------------------------------------------
Copyright (c)2000 TogetherSoft Corporation. Patents pending. All rights reserved.
----------------------------------------------------------------------------*/

package RelMgmt.PartyRole;

import java.util.Vector;
import java.math.BigDecimal;
import ProductSaleMgmt.SaleToCustomer.SaleToCustomer;

/** 
 * @author TogetherSoft
 * @stereotype role */
public class Customer extends RelMgmt.Party.PartyRole {
    public BigDecimal calcTotalCashSales() {
        return new BigDecimal(0);
    }

    public BigDecimal calcTotalOrders() {
        return new BigDecimal(0);
    }

    public BigDecimal calcProblemReportRate() {
        return new BigDecimal(0);
    }

    public BigDecimal calcOrderRate() {
        return new BigDecimal(0);
    }

    /**  */
    public void calcAvgProblemReportOpenToCloseDuration() {
    }

    public Vector assessTimelinessOfDeliveriesToThisCustomer() {
        return new Vector();
    }

    public Vector listCashSales() {
        return new Vector();
    }

    public Vector listOrders() {
        return new Vector();
    }

    public Vector listShipments() {
        return new Vector();
    }

    public Vector listDeliveries() {
        return new Vector();
    }

    public Vector listDeliveryProblemReports() {
        return new Vector();
    }

    public Vector listInvoices() {
        return new Vector();
    }

    public Vector listDiscountAgreements() {
        return new Vector();
    }

    private int priority;

    /**
     * @supplierCardinality 0..*
     * @clientCardinality 1
     */
    private ProductSaleMgmt.ProductAgreement.DiscountAgreement lnkUnnamed4;

    /**
     * @clientCardinality 1
     * @supplierCardinality 0..*
     */
    private ProductSaleMgmt.ProductAssessment.CostAndOverheadAllocation lnkUnnamed2;

    /**
     *@clientCardinality 1
     *@supplierCardinality 0..*
     */
    private SaleToCustomer lnkUnnamed;

    /**
     *@clientCardinality 1
     *@supplierCardinality 0..*
     * @label derivable
     */
    private ProductSaleMgmt.InvoiceToCustomer.InvoiceToCustomer lnkUnnamed5;

    /**
     * @clientCardinality 1
     * @supplierCardinality 0..*
     * @label derivable
     */
    private ProductSaleMgmt.DeliveryToCustomer.DeliveryToCustomer lnkUnnamed1;

    /**
     * @supplierCardinality 0..*
     * @clientCardinality 1
     * @label derivable
     */
    private ProductSaleMgmt.ShipmentToCustomer.ShipmentToCustomer lnkUnnamed7;
    private int presetCreditLimitAmount;

    /**
     * @supplierCardinality 0..*
     * @clientCardinality 0..1
     */
    private CashSaleMgmt.CashSale.CashSale lnkUnnamed8;
}


