/// <summary>
        /// POST: api/Messages
        /// Receive a message from a user and reply to it
        /// </summary>
        public async Task <HttpResponseMessage> Post([FromBody] Activity activity)
        {
            if (activity.Type == ActivityTypes.Message)
            {
                ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl));
                // calculate something for us to return
                int    length       = (activity.Text ?? string.Empty).Length;
                string replyMessage = "";
                if (activity.Text == "5C5-00025")
                {
                    Recommender recommend = new Recommender();
                    var         reco      = recommend.GetRecommendationsItemRequest(activity.Text);

                    // return our reply to the user
                    replyMessage = reco;
                }
                else if (activity.Text == "0003BFFDC7118D12")
                {
                    Recommender recommend = new Recommender();
                    var         reco      = recommend.GetRecommendationsUserRequest(activity.Text);

                    // return our reply to the user
                    replyMessage = reco;
                }
                else
                {
                    // return our reply to the user
                    replyMessage = $"You sent {activity.Text} which was {length} characters";
                }
                Activity reply = activity.CreateReply(replyMessage);
                await connector.Conversations.ReplyToActivityAsync(reply);
            }
            else
            {
                HandleSystemMessage(activity);
            }
            var response = Request.CreateResponse(HttpStatusCode.OK);

            return(response);
        }