using System;
using Valg.EVA.Skanning.Contracts.CommonEnums;

namespace Valg.EVA.Skanning.ServicesModel.ServiceContracts.Scan.Write
{
    public class SaveScannedBallotPaperParameters
    {
        public SaveScannedBallotPaperParameters(
            BallotPaperType ballotPaperType,
            ScannedField[] scannedFields,
            ScannedImages scannedImages, 
            string createdBy,
            string barcodeLong,
            string barcodeShort,
            int countingIdBoxWasScannedFor,
            int boxCountingId,
            DateTime boxCountingConcurrencyToken,
            string countingEmlAreaContextId,
            int scannedOrder)
        {
            BallotPaperType = ballotPaperType;
            ScannedFields = scannedFields;
            ScannedImages = scannedImages;
            CreatedBy = createdBy;
            BarcodeLong = barcodeLong;
            BarcodeShort = barcodeShort;
            CountingIdBoxWasScannedFor = countingIdBoxWasScannedFor;
            BoxCountingId = boxCountingId;
            BoxCountingConcurrencyToken = boxCountingConcurrencyToken;
            CountingEmlAreaContextId = countingEmlAreaContextId;
            ScannedOrder = scannedOrder;
        }

        public BallotPaperType BallotPaperType { get; private set; }
        public ScannedField[] ScannedFields { get; private set; }
        public ScannedImages ScannedImages { get; private set; }
        public string CreatedBy { get; private set; }
        public string BarcodeLong { get; private set; }
        public string BarcodeShort { get; private set; }
        public int CountingIdBoxWasScannedFor { get; private set; }
        public int BoxCountingId { get; private set; }
        public DateTime BoxCountingConcurrencyToken { get; private set; }
        public string CountingEmlAreaContextId { get; private set; }
        public int ScannedOrder { get; private set; }
    }
}
