public async Task <IActionResult> CreateFavoriteTrack([FromBody] AddFavoriteTrackInput input)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var favoriteTrack = await favoriteTrackCrud.AddFavoriteTrack(input);

            if (favoriteTrack == false)
            {
                return(BadRequest());
            }

            return(Ok());
        }
Example #2
0
        public async Task <bool> AddFavoriteTrack(AddFavoriteTrackInput input)
        {
            var hasTrack = await favoriteTrackRepository.GetQuery()
                           .Where(favorite => favorite.UserId == input.UserId && favorite.TrackId == input.TrackId)
                           .ToListAsync();

            if (hasTrack.Count != 0)
            {
                return(false);
            }

            var newFavoriteTrack = mapper.Map <FavoriteTrack>(input);

            favoriteTrackRepository.Insert(newFavoriteTrack);

            await favoriteTrackRepository.Save();

            return(true);
        }