public HttpResponseMessage Put(int id, Category category)
        {
            using (var unitOfWork = _unitOfWorkFactory.CreateUnitOfWork())
            {
                if (ModelState.IsValid && id == category.Id)
                {
                    unitOfWork.Repository<Category>().AttachItem(category);

                    try
                    {
                        unitOfWork.SaveChanges();
                    }
                    catch (DbUpdateConcurrencyException)
                    {
                        return Request.CreateResponse(HttpStatusCode.NotFound);
                    }

                    return Request.CreateResponse(HttpStatusCode.OK);
                }
                else
                {
                    return Request.CreateResponse(HttpStatusCode.BadRequest);
                }
            }
        }
        public HttpResponseMessage Post(Category category)
        {
            if (ModelState.IsValid)
            {
                using (var unitOfWork = _unitOfWorkFactory.CreateUnitOfWork())
                {
                     unitOfWork.Repository<Category>().AddItem(category);
                }

                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, category);
            //                response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = category.Id }));
                response.Headers.Location = new Uri(Url.Link("PostCategory", new { id = category.Id }));
                return response;
            }
            else
            {
                return Request.CreateResponse(HttpStatusCode.BadRequest);
            }
        }