/// <summary>
        /// 新增
        /// </summary>
        /// <param name="organizationRequestDto"></param>
        /// <returns></returns>
        public async Task <bool> CreateAsync(OrganizationRequestDto organizationRequestDto)
        {
            var organization = _mapper.Map <OrganizationRequestDto, Organization>(organizationRequestDto);
            await OrganizationValidatorsFilter.DoValidationAsync(_organizationRespository, organization, ValidatorTypeConstants.Create);

            return(await _organizationRespository.InsertAsync(organization));
        }
        /// <summary>
        /// 批量新增
        /// </summary>
        /// <param name="organizationRequestDtos"></param>
        /// <returns></returns>
        public async Task <bool> BatchCreateAsync(IList <OrganizationRequestDto> organizationRequestDtos)
        {
            var entities = organizationRequestDtos.MapToList <OrganizationRequestDto, Organization>();
            await OrganizationValidatorsFilter.DoValidationAsync(_organizationRespository, entities, ValidatorTypeConstants.Create);

            await _organizationRespository.BatchInsertAsync(entities);

            return(true);
        }
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="organizationRequestDto"></param>
        /// <returns></returns>
        public async Task <bool> ModifyAsync(OrganizationRequestDto organizationRequestDto)
        {
            var organization = await _organizationRespository.FirstOrDefaultAsync(e => e.Id == organizationRequestDto.Id);

            var entity = organizationRequestDto.MapToModifyEntity <OrganizationRequestDto, Organization>(organization);
            await OrganizationValidatorsFilter.DoValidationAsync(_organizationRespository, entity, ValidatorTypeConstants.Modify);

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

            var entities = organizationRequestDtos.MapToModifyEntities <OrganizationRequestDto, Organization>(organizations.ToList());
            await OrganizationValidatorsFilter.DoValidationAsync(_organizationRespository, entities, ValidatorTypeConstants.Create);

            await _organizationRespository.BatchUpdateAsync(entities);

            return(true);
        }