예제 #1
0
        private async Task AddUniqueNameAsync(MediaItem item)
        {
            // TODO: Cache this and update on new media item events.
            List <UniqueName> existingUniqueNames = await GetUniqueNamesAsync(item.AccountId);

            // Case sensitive
            if (existingUniqueNames.Select(x => x.LowerName).Contains(item.UniqueMediaName.ToLower()))
            {
                // Unique name already exists.
                return;
            }

            UniqueName name = new UniqueName
            {
                AccountId = item.AccountId,
                Name      = item.UniqueMediaName,
                LowerName = item.UniqueMediaName.ToLower(),
                DateAdded = DateTime.UtcNow,
            };
            await _uniquNameRepository.InsertAsync(name);
        }