/// <summary> /// Return appropriate response for input. /// </summary> /// <param name="position">Input's position.</param> /// <returns></returns> public UssdResponse InputResponse(int position) { var input = Inputs[position]; var message = new StringBuilder(); message.Append(Title + Environment.NewLine); if (input.HasOptions) { message.AppendFormat("Choose {0}:" + Environment.NewLine, input.DisplayName); var options = input.Options; for (var i = 0; i < options.Count; i++) { message.AppendFormat("{0}. {1}" + Environment.NewLine , i + 1, options[i].DisplayValue); } } else { message.AppendFormat("Enter {0}:" + Environment.NewLine, input.DisplayName); } return(UssdResponse.Response(message.ToString())); }