Пример #1
0
        public static Role MapFrom(this Role entity, RoleAddEditModel model)
        {
            entity.Name     = model.Name;
            entity.RoleType = model.RoleType;

            return(entity);
        }
Пример #2
0
        public RoleAddEditModel SaveRole(RoleAddEditModel model)
        {
            var entity = DataBase.GetOrCreateRole(model.Id);

            entity.MapFrom(model);

            return(GetRole(entity.Id));
        }
        public ActionResult RoleSave(RoleAddEditModel model)
        {
            if (!ModelState.IsValid)
            {
                return(ActiveView("~/Views/RoleEngine/RoleAddEdit.cshtml"));
            }

            if (model.RoleId != null)
            {
                // Edit save

                SysRole role = SampleDbContext.Current.Roles.FirstOrDefault(r => r.RoleId == model.RoleId.Value);

                if (role == null)
                {
                    ModelState.AddModelError("", "RoleId not found");
                    return(ActiveView("~/Views/RoleEngine/RoleAddEdit.cshtml", model));
                }

                // update role
                role.RoleName    = model.RoleName;
                role.Description = model.Description;

                // update role_permission
                SampleDbContext.Current.RolePermissions.RemoveAll(rp => rp.RoleId == role.RoleId);
                if (model.Permissions != null && model.Permissions.Count > 0)
                {
                    SampleDbContext.Current.RolePermissions.AddRange(model.Permissions.Select(p => new SysRolePermission
                    {
                        RoleId       = role.RoleId,
                        PermissionId = p
                    }));
                }

                return(RedirectToAction("Role"));
            }

            // Add save

            SysRole newRole = new SysRole
            {
                RoleId      = Guid.NewGuid(),
                RoleName    = model.RoleName,
                Description = model.Description
            };

            SampleDbContext.Current.Roles.Add(newRole);
            if (model.Permissions != null && model.Permissions.Count > 0)
            {
                SampleDbContext.Current.RolePermissions.AddRange(model.Permissions.Select(p => new SysRolePermission
                {
                    RoleId       = newRole.RoleId,
                    PermissionId = p
                }));
            }

            return(RedirectToAction("Role"));
        }
Пример #4
0
        public async Task <ActionResult> AddEdit(int?id)
        {
            var model = new RoleAddEditModel();

            this.ViewBag.Title = "添加角色";

            if (id != null)
            {
                var role = await this.PostAsync <RoleDTO>(this.GetAPIAddress("/api/console/Role/GetRole"), new
                {
                    id    = id.Value,
                    query = new string[] { "Modules" }
                });

                this.ViewBag.Title = string.Format("编辑角色 - {0}", role.Name);

                model.Id        = role.Id;
                model.Name      = role.Name;
                model.ModuleIds = role.Modules.Select(m => m.Id);
            }

            return(View(model));
        }
        /// <summary>
        /// Edit screen
        /// </summary>
        /// <param name="id">The identifier</param>
        /// <returns></returns>
        public ActionResult RoleEdit(string id)
        {
            SysRole role = SampleDbContext.Current.Roles.FirstOrDefault(r => r.RoleId.ToString() == id);

            // role not found => return to list
            if (role == null)
            {
                return(RedirectToAction("Role"));
            }

            ViewBag.Title = "Role Edit - " + role.RoleName;

            RoleAddEditModel model = new RoleAddEditModel
            {
                RoleId      = role.RoleId,
                RoleName    = role.RoleName,
                Description = role.Description,
                Permissions = SampleDbContext.Current.RolePermissions
                              .Where(rp => rp.RoleId == role.RoleId)
                              .Select(rp => rp.PermissionId).ToList()
            };

            return(ActiveView("~/Views/RoleEngine/RoleAddEdit.cshtml", model));
        }
Пример #6
0
 public JsonResult AddEdit(RoleAddEditModel model)
 {
     return(Json(null));
 }