Ejemplo n.º 1
0
        // [Authorize]
        public async Task <ActionResult <MusicResource> > CreateMusic(SaveMusicResource saveMusicResource)
        {
            try
            {
                //GET Current user
                var userId = User.Identity.Name;
                // Validation
                SaveMusicResourceValidator validation       = new SaveMusicResourceValidator();
                ValidationResult           validationResult = await validation.ValidateAsync(saveMusicResource);

                if (!validationResult.IsValid)
                {
                    return(BadRequest(validationResult.Errors));
                }
                // mappage view à la BD
                Music music = _mapperService.Map <SaveMusicResource, Music>(saveMusicResource);
                // Creation de music
                Music newMusic = await _musicService.CreateMusic(music);

                // mappage BD à la view
                MusicResource musicResource = _mapperService.Map <Music, MusicResource>(newMusic);
                return(Ok(musicResource));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Ejemplo n.º 2
0
        public async Task <ActionResult <MusicResource> > GetMusicByid(int id)
        {
            Music music = await _musicService.GetMusicById(id);

            MusicResource musicResource = _mapper.Map <Music, MusicResource>(music);

            return(Ok(musicResource));
        }
Ejemplo n.º 3
0
        public async Task <ActionResult <MusicResource> > GetMusicById(int id)
        {
            try
            {
                Music music = await _musicService.GetMusicById(id);

                if (music == null)
                {
                    return(NotFound());
                }
                //mappage
                MusicResource musicResource = _mapperService.Map <Music, MusicResource>(music);
                return(Ok(musicResource));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Ejemplo n.º 4
0
        /// <param name="musicResource">Music resource.</param>
        /// <param name="isLooped">Is looped.</param>
        /// <param name="fadeInDuration">Fade in duration (in seconds).</param>
        /// <param name="fadeOutDuration">Fade out duration (in seconds).</param>
        public MusicTrack(
            MusicResource musicResource,
            bool isLooped,
            double fadeInDuration,
            double fadeOutDuration,
            double volume = 1)
        {
            this.MusicResource   = musicResource ?? throw new ArgumentNullException(nameof(musicResource));
            this.IsLooped        = isLooped;
            this.FadeInDuration  = fadeInDuration;
            this.FadeOutDuration = fadeOutDuration;
            if (volume < 0 ||
                volume > 1)
            {
                throw new ArgumentException("Volume must be in [0;1] range", nameof(volume));
            }

            this.Volume = volume;
        }
        public static bool TryGetLastStopTime(MusicResource musicTrack, out double stopAtPosition)
        {
            if (!LastStopTime.TryGetValue(musicTrack, out var result))
            {
                stopAtPosition = 0;
                return(false);
            }

            LastStopTime.Remove(musicTrack);

            if (Api.Client.Core.ClientRealTime - result.ClientTimeLastPlayback
                > MusicPlaylistLastStopTimeManager.MaxDurationToRememberTrackPosition)
            {
                // it stopped too long ago, forget about this
                stopAtPosition = 0;
                return(false);
            }

            stopAtPosition = result.StopAtPosition;
            return(true);
        }
 public static void RememberLastTrack(MusicResource musicTrack, double stopAtPosition)
 {
     LastStopTime[musicTrack] = new TrackStopTime(stopAtPosition, Api.Client.Core.ClientRealTime);
 }