/// <summary> /// 保存系统用户 /// </summary> /// <param name="created_user_id"></param> /// <param name="entity"></param> /// <param name="employee"></param> /// <param name="rIds"></param> /// <param name="pIds"></param> /// <returns></returns> public StateCode SaveUser(long created_user_id, SysUser entity, Employee employee, string rIds, string pIds) { //角色ID long[] roleIds = StringHelper.StringToLongArray(rIds); //权限ID long[] permissionIds = StringHelper.StringToLongArray(pIds); using (ISession s = SessionFactory.Instance.CreateSession()) { s.StartTransaction(); try { if (entity.id == 0) { //是否是管理员 entity.is_manager = false; //登录次数 entity.login_count = 0; //创建用户ID entity.created_user_id = created_user_id; //创建时间 entity.created_date = DateTime.Now; //密码 entity.pass_word = StringHelper.ConvertTo32BitSHA1(ConfigManage.AppSettings <string>("AppSettings:DefaultPassWord")); //插入用户数据 s.Insert(entity); //对应系统用户 employee.sys_user_id = entity.id; //插入用户对应员工数据 s.Insert(employee); } else { //修改用户实体 s.Update(entity); int exist = s.Exist <Employee>("where sys_user_id = @0", entity.id); if (exist == 0) { s.Insert(employee); } else { s.Update(employee); } } //用户角色处理 s.ExcuteUpdate("delete tb_sys_user_role where sysuser_id = @0", entity.id); if (roleIds != null && roleIds.Count() > 0) { for (int i = 0; i < roleIds.Length; i++) { UserRole ur = new UserRole(); ur.sysuser_id = entity.id; ur.role_id = roleIds[i]; s.Insert <UserRole>(ur); } } //用户权限处理 s.ExcuteUpdate("delete tb_sys_user_permission where sysuser_id=@0", entity.id); if (permissionIds != null && permissionIds.Count() > 0) { for (int i = 0; i < permissionIds.Length; i++) { SysUserPermission up = new SysUserPermission(); up.sysuser_id = entity.id; up.permission_id = permissionIds[i]; s.Insert(up); } } s.Commit(); return(StateCode.State_200); } catch (Exception ex) { s.RollBack(); return(StateCode.State_500); } } }
public SysUserPermissionExistException(SysUserPermission _permission, Exception innerException) : base(O2.Languages.Errors.SYSUSERPERMISSION_ALREADY_EXISTS.Replace("{K}", _permission.key), "_key", innerException) { }