コード例 #1
0
        public async Task <string> GetOrCreateShortCodeAsync(string longUrl)
        {
            var shortCode = await _repository.GetShortCodeAsync(longUrl);

            if (shortCode == null)
            {
                do
                {
                    shortCode = ShortIdGenerator.CreateId();
                }while ((await _repository.GetLongUrlAsync(shortCode)) != null);

                await _repository.SetShortCodeAsync(longUrl, shortCode);
            }
            return(shortCode);
        }