namespace CashLineERP.Domain.Procurement;

public sealed class RfqEvaluationLine
{
    public long Id { get; private set; }

    public long RfqEvaluationId { get; private set; }

    public long QuotationId { get; private set; }

    public long SupplierId { get; private set; }

    public decimal? PriceScore { get; private set; }

    public decimal? CommercialScore { get; private set; }

    public decimal? DeliveryScore { get; private set; }

    public decimal? QualityScore { get; private set; }

    public decimal? TotalScore { get; private set; }

    public int? RankNumber { get; private set; }

    public bool IsRecommended { get; private set; }

    public string? Notes { get; private set; }

    public RfqEvaluationLine(
        long evaluationId,
        long quotationId,
        long supplierId,
        decimal? priceScore,
        decimal? commercialScore,
        decimal? deliveryScore,
        decimal? qualityScore,
        decimal? totalScore,
        int? rankNumber,
        bool isRecommended,
        string? notes)
    {
        RfqEvaluationId = evaluationId;
        QuotationId = quotationId;
        SupplierId = supplierId;
        PriceScore = priceScore;
        CommercialScore = commercialScore;
        DeliveryScore = deliveryScore;
        QualityScore = qualityScore;
        TotalScore = totalScore;
        RankNumber = rankNumber;
        IsRecommended = isRecommended;
        Notes = notes;
    }

    private RfqEvaluationLine()
    {
    }
}
