public async Task <UserAuthDto> CreateAsync(UserCreateDto userDto) { if (await _userRepository.AnyUserAsync(x => x.Email == userDto.Email)) { throw new FieldLogicException($"User with email {userDto.Email} already exists!", nameof(userDto.Email)); } var user = Mapper.Map <User>(userDto); user.HashedPassword = _passwordHasher.HashPassword(user, userDto.Password); user.RoleId = await _roleRepository.GetRoleIdByNameAsync(userDto.Role); _userRepository.Create(user); await SaveProvider.SaveAsync(); await _pictureService.ChangeImageTagAsync(user.ImagePublicId, CloudinaryTagDefaults.Employee); await _pictureService.DeleteTemporaryImagesAsync(); return(Mapper.Map <UserAuthDto>(user)); }