public IEnumerable <CategoryView> Get()
        {
            var models = repo.getAllCategories();
            var views  = CategoryView.getViews(models);

            return(views);
        }
        public Node GetTree()
        {
            var categories    = repo.getAllCategories();
            var categoryViews = CategoryView.getViews(categories);

            Node tree = new Node();

            constructTree(tree, categoryViews.ToArray(), null);

            return(tree);
        }
        public HttpResponseMessage Children(int id)
        {
            var model = repo.getCategory(id);

            if (model == null)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound));
            }
            else
            {
                var subcategories = model.children;
                var views         = CategoryView.getViews(subcategories);
                return(Request.CreateResponse(HttpStatusCode.OK, views));
            }
        }