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

namespace Valg.EVA.Skanning.Commands.UpdateTransferState
{
    public class UpdateTransferStateCommand : ICommand
    {
        private readonly TransferState transferState;
        private readonly DateTime lastUpdated;
        private readonly TransferState lastTransferState;
        private readonly int transferId;
        private readonly string updatedBy;

        public UpdateTransferStateCommand(TransferState transferState, DateTime lastUpdated, TransferState lastTransferState, int transferId, string updatedBy)
        {
            this.transferState = transferState;
            this.lastUpdated = lastUpdated;
            this.lastTransferState = lastTransferState;
            this.transferId = transferId;
            this.updatedBy = updatedBy;
        }

        public TransferState TransferState
        {
            get { return transferState; }
        }

        public DateTime LastUpdated
        {
            get { return lastUpdated; }
        }

        public TransferState LastTransferState
        {
            get { return lastTransferState; }
        }

        public int TransferId
        {
            get { return transferId; }
        }
        public string UpdatedBy
        {
            get { return updatedBy; }
        }
    }
}
