public HttpResponseMessage Delete(int id)
        {
            var payload = new HttpResponsePayload<bool>();

            try
            {
                throw new NotImplementedException();
            }
            catch (Exception ex)
            {
                ExceptionHandler.Log(ex);
                payload.AssignExceptionErrors(ex);
            }

            // Return proper response message
            return Request.CreateResponse(payload.HttpStatusCode, payload);
        }
        public HttpResponseMessage Get()
        {
            var payload = new HttpResponsePayload<List<Plan>>();

            try
            {
                // Get full list
                payload = new HttpResponsePayload<List<Plan>>(logic.Get());
            }
            catch (Exception ex)
            {
                ExceptionHandler.Log(ex);
                payload.AssignExceptionErrors(ex);
            }

            // Return proper response message
            return Request.CreateResponse(payload.HttpStatusCode, payload);
        }
        public HttpResponseMessage Search(string q)
        {
            var payload = new HttpResponsePayload<List<Topic>>();

            try
            {
                // search
                payload = new HttpResponsePayload<List<Topic>>(logic.Search(q));
            }
            catch (Exception ex)
            {
                ExceptionHandler.Log(ex);
                payload.AssignExceptionErrors(ex);
            }

            // Return proper response message
            return Request.CreateResponse(payload.HttpStatusCode, payload);
        }
        public HttpResponseMessage Get(string hashTag)
        {
            var payload = new HttpResponsePayload<Topic>();

            try
            {
                // get specific
                payload = new HttpResponsePayload<Topic>(logic.Get(hashTag));
            }
            catch (Exception ex)
            {
                ExceptionHandler.Log(ex);
                payload.AssignExceptionErrors(ex);
            }

            // Return proper response message
            return Request.CreateResponse(payload.HttpStatusCode, payload);
        }
        public HttpResponseMessage Put(string hashTag, Topic obj)
        {
            var payload = new HttpResponsePayload<Topic>();

            try
            {
                throw new NotImplementedException();
            }
            catch (Exception ex)
            {
                ExceptionHandler.Log(ex);
                payload.AssignExceptionErrors(ex);
            }

            // Return proper response message
            return Request.CreateResponse(payload.HttpStatusCode, payload);
        }