public void EditCategory(TestCategoryW cat)
        {
            var category = Db.TestCategories.Single(c => c.Id == cat.Id);

            category.Name = cat.Name;

            Db.SaveChanges();
        }
        public void AddCategory(TestCategoryW cat)
        {
            var category = cat.ToBase();

            category.Id = Guid.NewGuid();
            Db.TestCategories.Add(category);

            Db.SaveChanges();
        }
        public bool IsExisting(TestCategoryW cat)
        {
            var founded = Db.TestCategories.FirstOrDefault(x => x.Name.ToLower() == cat.Name.ToLower());

            if (founded != null)
            {
                return(true);
            }

            return(false);
        }
        public ActionResult EditCategory(TestCategoryW category)
        {
            if (ModelState.IsValid)
            {
                if (!_rep.IsExisting(category))
                {
                    _rep.EditCategory(category);
                    return(RedirectToAction("Categories"));
                }

                ModelState.AddModelError("ErrorExists", "Категория с това име вече съществува. Моля опитайте друго име.");
            }

            return(View(category));
        }
        public ActionResult EditCategory(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            TestCategoryW category = _rep.GetCategory(id.Value);

            if (category == null)
            {
                return(HttpNotFound());
            }

            return(View(category));
        }
        public ActionResult DeleteCategory(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            TestCategoryW category = _rep.GetCategory(id.Value);

            if (category == null)
            {
                return(HttpNotFound());
            }

            if (Request.IsAjaxRequest())
            {
                return(PartialView(category));
            }

            return(View(category));
        }