public async Task <IHttpActionResult> PutTopicItem(int id, Topic item)
        {
            TopicBL topicBL = new TopicBL(_context);

            if (!id.Equals(item.topicID))
            {
                return(BadRequest());
            }

            else if (!topicBL.TopicExists(id))
            {
                var Id = await topicBL.CreateNewTopic(item);

                if (Id == null)
                {
                    return(InternalServerError());
                }

                return(Created(Request.RequestUri, item));
            }
            var isUpdated = await topicBL.UpdateTopic(item);

            if (isUpdated == false)
            {
                return(InternalServerError());
            }
            return(StatusCode(HttpStatusCode.NoContent));
        }
        public async Task <IHttpActionResult> PostTopic(Topic item)
        {
            TopicBL topicBL = new TopicBL(_context);
            var     Id      = await topicBL.CreateNewTopic(item);

            if (Id == null)
            {
                return(InternalServerError());
            }

            return(Created(String.Format("{0}/{1}", Request.RequestUri, Id), item));
        }