private void UpdateRowMenus(role_rolemenus_others_normal msg) { if (string.IsNullOrWhiteSpace(msg.CurrentDBStr)) { throw new Exception("IRepositoryFactory.CreateRepositoryByConnStr need role ConnStr!"); } RoleMenuMsg bodys = ByteConvertHelper.Bytes2Object <RoleMenuMsg>(msg.MessageBodyByte); List <RoleMenu> roleMenus = new List <RoleMenu>(); bodys?.menuIds.ForEach(x => { roleMenus.Add(new RoleMenu() { RoleId = bodys.Id, MenuId = x }); }); lock (normalLocker) { var repository = _repository.CreateRepositoryByConnStr <Role, IRoleRepository>(msg.CurrentDBStr); repository.Execute(() => { repository.RemoveRowMenus(bodys.Id); repository.UnitOfWork.SaveChange(); repository.BatchAddRowMenus(roleMenus); repository.UnitOfWork.SaveChange(); }); } }
private void UpdateRowMenus(role_update_rolemenus_normal msg) { RoleMenuMsg bodys = ByteConvertHelper.Bytes2Object <RoleMenuMsg>(msg.MessageBodyByte); List <RoleMenu> roleMenus = new List <RoleMenu>(); bodys?.menuIds.ForEach(x => { roleMenus.Add(new RoleMenu() { RoleId = bodys.Id, MenuId = x }); }); lock (normalLocker) { _repository.Execute(() => { _repository.RemoveRowMenus(bodys.Id); _repository.UnitOfWork.SaveChange(); _repository.BatchAddRowMenus(roleMenus); _repository.UnitOfWork.SaveChange(); }); } var connList = _repositoryFactory.GetConnectionStrings(); foreach (var connStr in connList) { role_rolemenus_others_normal otherobj = new role_rolemenus_others_normal(_queueService.ExchangeName, bodys, connStr); _queueService.PublishTopic(otherobj); } }