public Response Execute(string request) { var req = JsonConvert.DeserializeObject <Request <LimitRole> >(request); var obj = req.Filter; var sqlStr = @"SELECT b.Id,b.Name,b.IsDefault FROM LimitRole AS b "; var cmd = CommandHelper.CreateText <LimitRole>(FetchType.Fetch, sqlStr); //cmd.Params.Add("@userid", obj.UserId); var response = DbContext.GetInstance().Execute(cmd); if (response.Entities != null) { foreach (LimitRole item in response.Entities) { if (LimitHelper.IsChecked(obj.UserId, item.Id)) { item.IsChecked = true; } else { item.IsChecked = false; } } } return(response); }
public Response Execute(string request) { var req = JsonConvert.DeserializeObject <Request <LimitRole> >(request); var obj = req.FirstEntity(); List <EntityBase> entites = new List <EntityBase>(); if ((string.IsNullOrEmpty(obj.UserId) && !string.IsNullOrEmpty(obj.Id)))//从角色添加用户 { foreach (var item in obj.MapList) { if (!LimitHelper.IsChecked(item.UserId, item.RoleId)) { item.SetNewEntity(); entites.Add(item); } } } else//从用户添加角色 { string delSql = @"DELETE FROM LimitRoleUserMap WHERE UserId=@Userid"; var cmd2 = CommandHelper.CreateText <LimitRoleUserMap>(FetchType.Execute, delSql); cmd2.Params.Add("@Userid", obj.UserId); DbContext.GetInstance().Execute(cmd2); foreach (var item in obj.MapList) { item.SetNewEntity(); entites.Add(item); } } //保存用户角色关系 var cmd = CommandHelper.CreateSave(entites); var response = DbContext.GetInstance().Execute(cmd); if (response.IsSuccess) { //角色更改,剔除相应的在线用户 if ((string.IsNullOrEmpty(obj.UserId) && !string.IsNullOrEmpty(obj.Id))) //从角色添加用户 { foreach (LimitRoleUserMap item in entites) { var result = LimitHelper.DeleteOnlieUser(item.UserId); } } else//从用户添加角色 { var result = LimitHelper.DeleteOnlieUser(obj.UserId); } } return(response); }