コード例 #1
0
        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();
                });
            }
        }
コード例 #2
0
        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);
            }
        }