コード例 #1
0
        public string UploadTrack(UploadTrackDto trackDto)
        {
            var uploader = _userRepository.GetByName(trackDto.UploaderUserName);
            var track    = _trackFactory.Produce(trackDto);

            track.Uploader = uploader;

            var existingUrlIds = _trackRepository.GetTrackTitles(uploader.Id);

            track.UrlId = UrlIdGenerator.Generate(track.Title, existingUrlIds);

            _trackRepository.Create(track);

            return(track.UrlId);
        }
コード例 #2
0
        public string GenerateUrlId(string playlistName, int userId)
        {
            string urlId;

            using (var tx = Session.BeginTransaction())
            {
                var urlIds = Session.QueryOver <Playlist>()
                             .Where(p => p.Creator.Id == userId)
                             .OrderBy(p => p.Name).Asc
                             .Select(p => p.UrlId)
                             .List <string>();

                urlId = UrlIdGenerator.Generate(playlistName, urlIds);

                tx.Commit();
            }

            return(urlId);
        }