示例#1
0
        public JsonResult UpdateData(RoleViewModel model, string[] selectedMenus)
        {
            ApplicationDbContext db = new ApplicationDbContext();
            var    RoleManager      = new RoleManager <ApplicationRole>(new RoleStore <ApplicationRole>(db));
            string retn             = String.Empty;

            if (ModelState.IsValid)
            {
                var CurrentRole = RoleManager.Roles.Where(e => e.Id == model.Id).SingleOrDefault();
                if (CurrentRole != null)
                {
                    var UpdateRole = RoleManager.Roles.Where(e => e.Id != model.Id && e.Name == model.Name).SingleOrDefault();
                    if (UpdateRole == null)
                    {
                        CurrentRole.Id          = model.Id;
                        CurrentRole.Name        = model.Name;
                        CurrentRole.Description = model.Description;
                        //CurrentRole.InstId = model.InstId;
                        var result = RoleManager.Update(CurrentRole);
                        if (result.Succeeded)
                        {
                            db.ApplicationRoleMenus.RemoveRange(db.ApplicationRoleMenus.Where(c => c.ApplicationRoleId == model.Id));
                            if (selectedMenus != null)
                            {
                                foreach (string menu in selectedMenus)
                                {
                                    int menuId = Convert.ToInt32(menu);
                                    var applicationRoleMenu = new ApplicationRoleMenu();
                                    applicationRoleMenu.ApplicationRoleId = model.Id;
                                    applicationRoleMenu.MenuId            = menuId;
                                    db.ApplicationRoleMenus.Add(applicationRoleMenu);
                                }
                                db.SaveChanges();
                            }

                            retn = "The role updated.";
                        }
                        else
                        {
                            retn = result.Errors.ToList()[0];
                        }
                    }
                    else
                    {
                        retn = "This Role Already Exist.";
                    }
                }
                else
                {
                    retn = "Role Id is not found.";
                }
            }

            return(Json(retn, JsonRequestBehavior.AllowGet));
        }
示例#2
0
        public JsonResult CreateData(RoleViewModel model, string[] selectedMenus)
        {
            ApplicationDbContext db = new ApplicationDbContext();
            var    RoleManager      = new RoleManager <ApplicationRole>(new RoleStore <ApplicationRole>(db));
            string retn             = String.Empty;

            if (ModelState.IsValid)
            {
                if (!RoleManager.RoleExists(model.Name))
                {
                    var role = new ApplicationRole();
                    role.Name        = model.Name;
                    role.Description = model.Description;
                    //role.InstId = model.InstId;
                    var result = RoleManager.Create(role);

                    if (result.Succeeded)
                    {
                        if (selectedMenus != null)
                        {
                            foreach (string menu in selectedMenus)
                            {
                                int menuId = Convert.ToInt32(menu);
                                var applicationRoleMenu = new ApplicationRoleMenu();
                                applicationRoleMenu.ApplicationRoleId = role.Id;
                                applicationRoleMenu.MenuId            = menuId;
                                db.ApplicationRoleMenus.Add(applicationRoleMenu);
                            }
                            db.SaveChanges();
                            retn = "The role created.";
                        }
                    }
                    else
                    {
                        retn = result.Errors.ToList()[0];
                    }
                }
                else
                {
                    retn = "This role already exist.";
                }
            }

            return(Json(retn, JsonRequestBehavior.AllowGet));
        }