예제 #1
0
        public ActionType AwaitUserKeyResponse(InputRequestType requestType)
        {
            var input = Console.ReadKey(true).Key;

            switch (requestType)
            {
            case InputRequestType.FullSelectionInput:
                return(FullSelection(input));

            case InputRequestType.MenuOnly:
                return(MenuOnlySelection(input));

            default:
                return(ActionType.Invalid);
            }
        }
        public void OnInputRequest(InputRequestData requestData, IInputReceiver inputReceiver)
        {
            Console.WriteLine($"TransactionListener OnInputRequest InputRequestData: {requestData} , IInputReceiver: {inputReceiver}");
            // Get information about the request for input from the terminal
            InputRequestType inputType    = requestData.InputType;
            DeviceType       inputDevice  = requestData.DeviceType;
            string           inputDefault = requestData.DefaultInputString;
            int?           inputTimeout   = requestData.TimeoutInSeconds;
            int?           inputMinLength = requestData.MinLength;
            int?           inputMaxLength = requestData.MaxLength;
            DisplayOutput  output         = requestData.DisplayOutput;
            DeviceType     outputDevice   = output.DeviceType;
            DisplayContent outputContent  = output.Content;

            if (outputContent.Format == DisplayFormatType.Text)
            {
                ContentText contentText             = outputContent.Text;
                string      plainTextDisplayMessage = contentText.PlainText;
            }
            // Return user input
            inputReceiver.InputText("1234"); //see chapter "Input requests" for details
        }
예제 #3
0
 public NexoDeviceInput() : base(MessageCategoryEnumeration.Input)
 {
     RequestItem = new InputRequestType();
     ReplyItem   = new InputResponseType();
 }