public CandidateMagicLinkExchangeResult(Candidate candidate)
        {
            Candidate = candidate;

            if (Candidate == null)
            {
                Status = ExchangeStatus.Invalid;
            }
            else if (Candidate.MagicLinkTokenAlreadyExchanged())
            {
                Status = ExchangeStatus.AlreadyExchanged;
            }
            else if (Candidate.MagicLinkTokenExpired())
            {
                Status = ExchangeStatus.Expired;
            }
            else
            {
                Status = ExchangeStatus.Valid;
            }
        }