public ActionResult Create(CategoryModel model)
        {
            if (ModelState.IsValid)
            {
                bool isNotExist = _categoryRepository.FindDuplicateByName(model.Name);

                if (isNotExist)
                {
                    var newCategory = new Categories(model.Name, model.Description);

                    try
                    {
                        _categoryRepository.Save(newCategory);
                        TempData["success"] = String.Format("Kategoria {0} została utworzona pomyślnie",
                            newCategory.Name);
                    }
                    catch (Exception)
                    {
                        throw new Exception();
                    }
                    return RedirectToAction("List");
                }
                TempData["error"] = String.Format("Kategoria o nazwie {0} już istnieje", model.Name);
                return RedirectToAction("Create");
            }
            TempData["error"] = "Zostały błednie wprowadzone dane";
            return RedirectToAction("Create");
        }
        public ActionResult Update(CategoryModel model)
        {
            bool isNotExist = _categoryRepository.FindDuplicateByNameAndId(model.Name, Int32.Parse(model.Id));

            if (isNotExist)
            {
                Categories category = _categoryRepository.Get(Int32.Parse(model.Id));
                category.Update(model.Name, model.Description);

                try
                {
                    _categoryRepository.Update(category);
                    TempData["success"] = String.Format("Edycja kategorii {0} wykonana pomyślnie", category.Name);
                    return RedirectToAction("List");
                }
                catch (Exception)
                {
                    TempData["error"] = "Wystąpił problem z połączeniem do bazy danych.";
                    return RedirectToAction("Update", new {@id = model.Id});
                }
            }
            TempData["error"] = String.Format("Kategoria o nazwie {0} już istnieje", model.Name);
            return RedirectToAction("Update", new {@id = @model.Id});
        }
        public ActionResult Update(int id)
        {
            Categories category = _categoryRepository.GetAll().FirstOrDefault(x => x.ID == id);
            if (category == null) return RedirectToAction("List", "ManageCategories");

            var categoryModel = new CategoryModel
            {
                Name = category.Name,
                Description = category.Description
            };

            return View(categoryModel);
        }