public HttpResponseMessage Put(int id, [FromBody][System.Web.Mvc.Bind(Include = "Category")] CategoryModel Category)
        {
            HttpResponseMessage response;
            ModelsValidation    validation = new ModelsValidation();
            CategoryData        data       = new CategoryData();

            if (ModelState.IsValid)
            {
                if (validation.DoesCategoryExist(id) == false)
                {
                    response = Request.CreateResponse(HttpStatusCode.NotFound, new { Message = "There is no category with given Id parameter." });
                }
                else
                {
                    data.UpdateCategoryById(id, Category.Category);
                    response = Request.CreateResponse(HttpStatusCode.NoContent);
                }
            }
            else
            {
                response = Request.CreateResponse(HttpStatusCode.NotFound, new { Message = "Model is invalid.", ModelValidation = "Category name must be between 2 - 64 signs. Cannot be null or empty." });
            }

            return(response);
        }
        public HttpResponseMessage Delete(int id)
        {
            HttpResponseMessage response;
            ModelsValidation    validation = new ModelsValidation();
            CategoryData        data       = new CategoryData();

            if (validation.DoesCategoryExist(id) == false)
            {
                response = Request.CreateResponse(HttpStatusCode.NotFound, new { Message = "There is no category with given Id parameter." });
            }
            else
            {
                try
                {
                    data.DeleteCategoryById(id);
                    response = Request.CreateResponse(HttpStatusCode.NoContent);
                }
                catch (SqlException sqlException)
                {
                    response = CheckSqlExceptionNumber(sqlException.Number);
                }
            }

            return(response);
        }
        private HttpResponseMessage CanAddProduct(int category, int brand)
        {
            HttpResponseMessage response;

            ModelsValidation validation = new ModelsValidation();

            int result = 0;

            if (validation.DoesBrandExist(brand) == false)
            {
                result += 2;
            }

            if (validation.DoesCategoryExist(category) == false)
            {
                result += 1;
            }

            switch (result)
            {
            case 0:
                response = Request.CreateResponse(HttpStatusCode.NoContent);
                break;

            case 1:
                response = Request.CreateResponse(HttpStatusCode.NotFound, new { Message = "There is no category with given Id parameter." });
                break;

            case 2:
                response = Request.CreateResponse(HttpStatusCode.NotFound, new { Message = "There is no brand with given Id parameter." });
                break;

            default:
                response = Request.CreateResponse(HttpStatusCode.NotFound, new { Message = "There are no category and brand with given Id parameters." });
                break;
            }

            return(response);
        }