namespace Valg.EVA.Skanning.ServicesModel.ServiceContracts.Verification.Write
{
    public class SaveBallotPaperVerificationsParameters
    {
        public SaveBallotPaperVerificationsParameters(
            BallotNumberVerification ballotNumberVerification,
            PersonVoteVerification[] personVoteVerifications,
            int ballotPaperId,
            int ballotPaperConcurrencyToken,
            RejectionReasonVerification rejectionReasonVerification,
            StampVerification stampVerification,
            string changedBy,
            IWriteInVerification[] writeInVerifications,
            bool isInEmergencyMode, 
            IRenumberStrikeoutVerification[] renumberStrikeoutVerifications, 
            string countingEmlAreaContextId,
            bool isAffiliationHeadersValid)
        {
            RenumberStrikeoutVerifications = renumberStrikeoutVerifications;
            CountingEmlAreaContextId = countingEmlAreaContextId;
            BallotNumberVerification = ballotNumberVerification;
            PersonVoteVerifications = personVoteVerifications;
            BallotPaperId = ballotPaperId;
            BallotPaperConcurrencyToken = ballotPaperConcurrencyToken;
            RejectionReasonVerification = rejectionReasonVerification;
            StampVerification = stampVerification;
            ChangedBy = changedBy;
            WriteInVerifications = writeInVerifications;
            IsInEmergencyMode = isInEmergencyMode;
            IsAffiliationHeadersValid = isAffiliationHeadersValid;
        }

        public BallotNumberVerification BallotNumberVerification { get; private set; }
        public PersonVoteVerification[] PersonVoteVerifications { get; private set; }
        public IWriteInVerification[] WriteInVerifications { get; private set; }
        public IRenumberStrikeoutVerification[] RenumberStrikeoutVerifications { get; private set; }
        public StampVerification StampVerification { get; private set; }
        public RejectionReasonVerification RejectionReasonVerification { get; private set; }

        public int BallotPaperId { get; private set; }

        public int BallotPaperConcurrencyToken { get; private set; }

        public string ChangedBy { get; private set; }

        public bool IsInEmergencyMode { get; private set; }
        public bool IsAffiliationHeadersValid { get; private set; }
        public string CountingEmlAreaContextId { get; private set; }
    }
}
