public bool Matches(object actual)
        {
            var matcher = new EntityValidationStrategy();
            var result  = matcher.Validate(actual, validationType);

            isMatch = result.All(x => x.Success);
            foreach (var mismatch in result.Where(mismatch => !mismatch.Success))
            {
                messageList.Add(mismatch.GetMessage());
            }
            return(isMatch);
        }
        public override ConstraintResult ApplyTo <TActual>(TActual actual)
        {
            var cresult = new CustomConstraintResult(this, actual)
            {
                Status = ConstraintStatus.Error
            };

            var matcher = new EntityValidationStrategy();
            var result  = matcher.Validate(actual, validationType);

            cresult.Status = result.All(x => x.Success) ? ConstraintStatus.Success : ConstraintStatus.Failure;

            foreach (var mismatch in result.Where(mismatch => !mismatch.Success))
            {
                messageList.Add(mismatch.GetMessage());
            }
            cresult.MessageList = messageList;
            return(cresult);
        }