public Event ValidateTransfer()
        {
            if (string.IsNullOrWhiteSpace(From.Id))
            {
                State = InitialTransferState.INVALID;
                return(ValidatorServiceEventFactory.BuildInvalidAccountEvent(TransactionId, ConstantStrings.ProcessAccountToError));
            }

            if (string.IsNullOrWhiteSpace(To.Id))
            {
                State = InitialTransferState.INVALID;
                return(ValidatorServiceEventFactory.BuildInvalidAccountEvent(TransactionId, ConstantStrings.ProcessAccountFromError));
            }

            if (Amount.Value <= 0)
            {
                State = InitialTransferState.INVALID;
                return(ValidatorServiceEventFactory.BuildInvalidAmountEvent(TransactionId, ConstantStrings.ProcessAmountError));
            }

            State = InitialTransferState.VALID;
            return(ValidatorServiceEventFactory.BuildTransferValidatedEvent(TransactionId));
        }