/// <summary>
        /// 新增
        /// </summary>
        /// <param name="roleMenuRequestDto"></param>
        /// <returns></returns>
        public async Task <bool> CreateAsync(RoleMenuRequestDto roleMenuRequestDto)
        {
            var roleMenu = roleMenuRequestDto.MapToCreateEntity <RoleMenuRequestDto, RoleMenu>();
            await RoleMenuValidatorsFilter.DoValidationAsync(_roleMenuRespository, roleMenu, ValidatorTypeConstants.Create);

            return(await _roleMenuRespository.InsertAsync(roleMenu));
        }
        /// <summary>
        /// 批量新增
        /// </summary>
        /// <param name="roleMenuRequestDtos"></param>
        /// <returns></returns>
        public async Task <bool> BatchCreateAsync(IList <RoleMenuRequestDto> roleMenuRequestDtos)
        {
            var entities = roleMenuRequestDtos.MapToCreateEntities <RoleMenuRequestDto, RoleMenu>();
            await RoleMenuValidatorsFilter.DoValidationAsync(_roleMenuRespository, entities, ValidatorTypeConstants.Create);

            await _roleMenuRespository.BatchInsertAsync(entities);

            return(true);
        }
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="roleMenuRequestDto"></param>
        /// <returns></returns>
        public async Task <bool> ModifyAsync(RoleMenuRequestDto roleMenuRequestDto)
        {
            var roleMenu = await _roleMenuRespository.FirstOrDefaultAsync(e => e.Id == roleMenuRequestDto.Id);

            var entity = roleMenuRequestDto.MapToModifyEntity <RoleMenuRequestDto, RoleMenu>(roleMenu);
            await RoleMenuValidatorsFilter.DoValidationAsync(_roleMenuRespository, entity, ValidatorTypeConstants.Modify);

            return(await _roleMenuRespository.UpdateAsync(entity));
        }
        /// <summary>
        /// 批量修改
        /// </summary>
        /// <param name="roleMenuRequestDtos"></param>
        /// <returns></returns>
        public async Task <bool> BatchModifyAsync(IList <RoleMenuRequestDto> roleMenuRequestDtos)
        {
            var ids       = roleMenuRequestDtos.Select(m => m.Id).ToList();
            var roleMenus = await _roleMenuRespository.EntitiesByExpressionAsync(e => ids.Contains(e.Id));

            var entities = roleMenuRequestDtos.MapToModifyEntities <RoleMenuRequestDto, RoleMenu>(roleMenus.ToList());
            await RoleMenuValidatorsFilter.DoValidationAsync(_roleMenuRespository, entities, ValidatorTypeConstants.Create);

            await _roleMenuRespository.BatchUpdateAsync(entities);

            return(true);
        }