public IActionResult AddCategory([FromBody] Category newCategory)
        {
            try
            {
                if (newCategory != null && newCategory.Title.Length > 2)
                {
                    if (db.Categories.FirstOrDefault(x => x.Title == newCategory.Title) != null)
                    {
                        return(StatusCode(400, "Category with same name already exist"));
                    }

                    if (newCategory.ParentCategory == null)
                    {
                        db.Add(newCategory);
                        db.SaveChanges();
                        return(StatusCode(200));
                    }

                    Category node = newCategory;
                    for (int a = 0; a < 3; a++)
                    {
                        if (node != null && node.ParentCategory == null)
                        {
                            db.Add(newCategory);
                            db.SaveChanges();
                            return(StatusCode(200));
                        }

                        node = db.Categories.FirstOrDefault(x => x.Id == node.ParentCategory);
                    }
                }

                return(StatusCode(400));
            }
            catch (Exception)
            {
                return(StatusCode(400));
            }
        }