using System;

namespace Valg.EVA.Skanning.ServicesModel.ServiceContracts.Scan.Write
{
    public class DeleteBoxCountingAndReregisterForScanningParameters
    {
        private readonly bool scanAgainImmediatly;
        private readonly int countingId;
        private readonly string barcodeShort;
        private readonly string barcodeLong;
        private readonly DateTime boxCountingConcurrencyToken;
        private readonly string countingEmlAreaContextId;
        private readonly string changedBy;

        public DeleteBoxCountingAndReregisterForScanningParameters(
            string barcodeLong,
            string barcodeShort,
            int countingId,
            bool scanAgainImmediatly,
            DateTime boxCountingConcurrencyToken,
            string countingEmlAreaContextId,
            string changedBy)
        {
            this.scanAgainImmediatly = scanAgainImmediatly;
            this.boxCountingConcurrencyToken = boxCountingConcurrencyToken;
            this.countingEmlAreaContextId = countingEmlAreaContextId;
            this.barcodeLong = barcodeLong;
            this.barcodeShort = barcodeShort;
            this.countingId = countingId;
            this.changedBy = changedBy;
        }

        public string BarcodeLong
        {
            get { return barcodeLong; }
        }
        public string BarcodeShort
        {
            get { return barcodeShort; }
        }
        public int CountingId
        {
            get { return countingId; }
        }
        public bool ScanAgainImmediatly
        {
            get { return scanAgainImmediatly; }
        }
        public DateTime BoxCountingConcurrencyToken
        {
            get { return boxCountingConcurrencyToken; }
        }
        public string CountingEmlAreaContextId
        {
            get { return countingEmlAreaContextId; }
        }

        public string ChangedBy
        {
            get { return changedBy; }
        }
    }
}
