예제 #1
0
        public void RenameCategory(RenameCategoryBindingModel rcbm)
        {
            Category category = this.Context.Categories.Where(cn => cn.Name == rcbm.OldName).SingleOrDefault();

            category.Name = rcbm.NewName;

            this.Context.SaveChanges();
        }
예제 #2
0
        public bool IsRenameCategoryBindingModelValid(RenameCategoryBindingModel rcbm)
        {
            // Name lenght check
            if (rcbm.NewName.Length > 30)
            {
                return(false);
            }

            // Same name check
            if (this.Context.Categories.Any(n => n.Name == rcbm.NewName))
            {
                return(false);
            }

            // Invalid previous name
            if (!this.Context.Categories.Any(n => n.Name == rcbm.OldName))
            {
                return(false);
            }

            return(true);
        }
예제 #3
0
        public IActionResult <CategoriesEditViewModel> Edit(HttpResponse response, HttpSession session, RenameCategoryBindingModel rcbm)
        {
            if (this.signInManagerService.IsAuthenticated(session))
            {
                if (this.signInManagerService.GetAuthenticatedUser(session).Role == Enums.UserRole.Administrator)
                {
                    if (this.categoriesService.IsRenameCategoryBindingModelValid(rcbm))
                    {
                        this.categoriesService.RenameCategory(rcbm);

                        this.Redirect(response, "/categories/all");
                        return(null);
                    }

                    this.Redirect(response, "/categories/edit");
                    return(null);
                }
            }

            this.Redirect(response, "/home/topics");
            return(null);
        }