Example #1
0
        public bool ReplyInformation(ULTypeOfFeedback input, out string reply, ref ULActions action, out ULTypeOfFeedback recommendation)
        {
            Thread.Sleep(10000); // simulate connecting an external service and filling repltyText by using the data that are retrieved from some APIs
            var returnReply = false;
            var replyText = "Your feedback has been forwarded to the product manager.";

            reply = string.Empty;
            switch (input)
            {
                case ULTypeOfFeedback.Complaint:
                case ULTypeOfFeedback.Praise:
                    action = ULActions.ForwardToManagement;
                    reply = "Thank you. " + replyText;
                    returnReply = true;
                    break;
                case ULTypeOfFeedback.Suggestion:
                    action = ULActions.ForwardToDeveloper;
                    reply = replyText;
                    returnReply = true;
                    break;
                case ULTypeOfFeedback.Incomprehensible:
                default:
                    action = ULActions.Discard;
                    returnReply = false;
                    break;
            }
            Recommendation = recommendation = (ULTypeOfFeedback)(((int)input + 1) % 4);
            return returnReply;
        }
Example #2
0
        public bool ReplyInformation(ULTypeOfFeedback input, out string reply, ref ULActions action, out ULTypeOfFeedback recommendation)
        {
            Thread.Sleep(10000); // simulate connecting an external service and filling repltyText by using the data that are retrieved from some APIs
            var returnReply = false;
            var replyText   = "Your feedback has been forwarded to the product manager.";

            reply = string.Empty;
            switch (input)
            {
            case ULTypeOfFeedback.Complaint:
            case ULTypeOfFeedback.Praise:
                action      = ULActions.ForwardToManagement;
                reply       = "Thank you. " + replyText;
                returnReply = true;
                break;

            case ULTypeOfFeedback.Suggestion:
                action      = ULActions.ForwardToDeveloper;
                reply       = replyText;
                returnReply = true;
                break;

            case ULTypeOfFeedback.Incomprehensible:
            default:
                action      = ULActions.Discard;
                returnReply = false;
                break;
            }
            Recommendation = recommendation = (ULTypeOfFeedback)(((int)input + 1) % 4);
            return(returnReply);
        }
Example #3
0
        public void Start(ULTypeOfFeedback input, ULChatBot[] bots)
        {
            var reply = default(string);
            var action = default(ULActions);
            var recommendation = input;
            var result = default(bool);

            var sb = new StringBuilder(Log);

            foreach (var bot in bots)
            {
                result = bot.ReplyInformation(recommendation, out reply, ref action, out recommendation);
                sb.AppendFormat("Reply: {0} Action: {1} return? {2}\r\n", reply, action, result);
            }

            Log = sb.ToString();
        }
Example #4
0
        public void Start(ULTypeOfFeedback input, ULChatBot bot1, ULChatBot bot2)
        {
            var reply          = default(string);
            var action         = default(ULActions);
            var recommendation = default(ULTypeOfFeedback);
            var result         = default(bool);

            var sb = new StringBuilder(Log);

            result = bot1.ReplyInformation(input, out reply, ref action, out recommendation);
            sb.AppendFormat("Reply: {0} Action: {1} return? {2}\r\n", reply, action, result);

            result = bot2.ReplyInformation(recommendation, out reply, ref action, out recommendation);
            sb.AppendFormat("Reply: {0} Action: {1} return? {2}\r\n", reply, action, result);

            Log = sb.ToString();
        }