public ActionResult Role_Edit(int id)
        {
            U_Role _role;

            if (id == -1)
            {
                _role = new U_Role {
                    Id = -1
                };
            }
            else
            {
                _role = _inFlowDb.U_Roles.Find(id);
            }


            EditRoleViewModel model = new EditRoleViewModel {
                RoleId = _role.Id, RoleName = _role.Name
            };

            _role.FunctionGroups.ToList().ForEach(g => model.Groups.Add(new ListViewItemModel {
                Id = g.Id, Name = g.Name, Selected = true
            }));
            _inFlowDb.U_FunctionGroups.ToList().Except(_role.FunctionGroups.ToList()).ToList().ForEach(g => model.Groups.Add(new ListViewItemModel {
                Id = g.Id, Name = g.Name, Selected = false
            }));

            return(View(model));
        }
Пример #2
0
        public IEnumerable <U_Role> AllRoles()
        {
            IEnumerable <U_Role> roles  = _db.U_Roles;
            List <U_Role>        lroles = roles.ToList();
            var emptyRole = new U_Role();

            emptyRole.Id   = -1;
            emptyRole.Name = "-";
            lroles.Add(emptyRole);
            return(lroles);
        }
        public ActionResult Role_Edit(EditRoleViewModel model)
        {
            U_Role _role;

            if (model.RoleId == -1)
            {
                _role = new U_Role()
                {
                    Name = model.RoleName
                };
                _inFlowDb.U_Roles.Add(_role);
                _inFlowDb.SaveChanges();
            }
            else
            {
                _role = _inFlowDb.U_Roles.Find(model.RoleId);
            }

            if (!_role.Name.Equals(model.RoleName))
            {
                _role.Name = model.RoleName;
            }

            List <int> oldAssignedGroups = new List <int>();
            List <int> newAssignedGroups = new List <int>();

            if (model.SelectedGroups != null)
            {
                (new List <string>(model.SelectedGroups)).ForEach(id => newAssignedGroups.Add(Int16.Parse(id)));
            }

            _role.FunctionGroups.ToList().ForEach(g => oldAssignedGroups.Add(g.Id));

            List <int> groupsToAssign = new List <int>(newAssignedGroups.Except(oldAssignedGroups));

            List <int> groupsToRemove = new List <int>(oldAssignedGroups.Except(newAssignedGroups));

            groupsToAssign.ForEach(group => _role.FunctionGroups.Add(_inFlowDb.U_FunctionGroups.Find(group)));

            groupsToRemove.ForEach(group => _role.FunctionGroups.Remove(_inFlowDb.U_FunctionGroups.Find(group)));

            _inFlowDb.SaveChanges();

            return(RedirectToAction("GroupsRoles"));
        }
Пример #4
0
        public JsonResult InstallRl(int type, string data)
        {
            var result = new AjaxResultModel {
                success = false,
                code    = 400,
                message = "Error: Installation.InstallRl."
            };

            try {
                if (!_dbManager.DatabaseIsInstalled())
                {
                    throw new iPemException("数据库尚未配置,请完成配置后重试。");
                }

                var model      = JsonConvert.DeserializeObject <iPem.Site.Models.Installation.RoleModel>(data);
                var repository = new U_RoleRepository(_dbManager.CurrentConnetions[EnmDbType.Sc]);
                var service    = new RoleService(repository, _cacheManager);
                var installed  = (type == 0);

                var entity = service.GetRoleById(U_Role.SuperId);
                if (entity != null)
                {
                    service.Remove(entity);
                }

                entity = new U_Role()
                {
                    Id      = U_Role.SuperId,
                    Name    = model.name,
                    Comment = model.comment,
                    Enabled = true
                };

                service.Add(entity);
                result.success = true;
                result.code    = 200;
                result.message = "OK";
            } catch (Exception err) {
                result.message = err.Message;
            }

            return(Json(result));
        }
Пример #5
0
        public List <U_Role> GetRoles()
        {
            var entities = new List <U_Role>();

            using (var rdr = SqlHelper.ExecuteReader(this._databaseConnectionString, CommandType.Text, SqlCommands_Sc.Sql_U_Role_Repository_GetRoles, null)) {
                while (rdr.Read())
                {
                    var entity = new U_Role();
                    entity.Id         = SqlTypeConverter.DBNullStringHandler(rdr["Id"]);
                    entity.Name       = SqlTypeConverter.DBNullStringHandler(rdr["Name"]);
                    entity.Type       = SqlTypeConverter.DBNullEnmSSHHandler(rdr["Type"]);
                    entity.Comment    = SqlTypeConverter.DBNullStringHandler(rdr["Comment"]);
                    entity.Enabled    = SqlTypeConverter.DBNullBooleanHandler(rdr["Enabled"]);
                    entity.Config     = SqlTypeConverter.DBNullInt32Handler(rdr["Config"]);
                    entity.ValuesJson = SqlTypeConverter.DBNullStringHandler(rdr["ValuesJson"]);
                    entities.Add(entity);
                }
            }
            return(entities);
        }
Пример #6
0
        public U_Role GetRole(string id)
        {
            if (string.IsNullOrWhiteSpace(id))
            {
                throw new ArgumentNullException("id");
            }

            if (_cachedRole != null)
            {
                return(_cachedRole);
            }

            var role = _roleService.GetRoleById(id);

            if (role == null)
            {
                throw new iPemException("current role not found.");
            }
            return(_cachedRole = role);
        }
Пример #7
0
        public U_Role GetRoleByUid(string uid)
        {
            SqlParameter[] parms = { new SqlParameter("@UserId", SqlDbType.VarChar, 100) };
            parms[0].Value = SqlTypeConverter.DBNullStringChecker(uid);

            U_Role entity = null;

            using (var rdr = SqlHelper.ExecuteReader(this._databaseConnectionString, CommandType.Text, SqlCommands_Sc.Sql_U_Role_Repository_GetRoleByUid, parms)) {
                if (rdr.Read())
                {
                    entity            = new U_Role();
                    entity.Id         = SqlTypeConverter.DBNullStringHandler(rdr["Id"]);
                    entity.Name       = SqlTypeConverter.DBNullStringHandler(rdr["Name"]);
                    entity.Type       = SqlTypeConverter.DBNullEnmSSHHandler(rdr["Type"]);
                    entity.Comment    = SqlTypeConverter.DBNullStringHandler(rdr["Comment"]);
                    entity.Enabled    = SqlTypeConverter.DBNullBooleanHandler(rdr["Enabled"]);
                    entity.Config     = SqlTypeConverter.DBNullInt32Handler(rdr["Config"]);
                    entity.ValuesJson = SqlTypeConverter.DBNullStringHandler(rdr["ValuesJson"]);
                }
            }
            return(entity);
        }