public virtual async Task UpdateContactAsync(ContactEditDto input)
        {
            //TODO:更新前的逻辑判断,是否允许更新

            var entity = await _contactRepository.GetAsync(input.Id.Value);

            input.MapTo(entity);

            await _contactRepository.UpdateAsync(entity);
        }
        public virtual async Task <ContactEditDto> CreateContactAsync(ContactEditDto input)
        {
            //TODO:新增前的逻辑判断,是否允许新增

            var entity = input.MapTo <Contact>();

            entity.Id = await _contactRepository.InsertAndGetIdAsync(entity);

            return(entity.MapTo <ContactEditDto>());
        }