public ActionResult Delete(Guid id)
        {
            Music music = _musicRepo.Get(id);

            Playlist playlist = _playlistRepo.Get(music.PlaylistId);

            if (playlist.ApplicationUserId != this.User.GetUserId())
            {
                return(Unauthorized());
            }

            var fileName = music.filePath.Substring(44);
            var filePath = Path.Combine(_appEnv.WebRootPath, "audio", music.PlaylistId.ToString(), fileName);

            if (System.IO.File.Exists(filePath))
            {
                Task.Run(() => {
                    System.IO.File.Delete(filePath);
                });
            }

            _musicRepo.Delete(music.Id);
            _musicRepo.SaveChanges();
            return(RedirectToAction(nameof(Index), new { playlistId = music.PlaylistId }));
        }
        public async Task <ActionResult <Music> > Delete(
            [FromServices] DataContext context,
            [FromServices] MusicRepository repository,
            int id)
        {
            try
            {
                var music = await repository.GetByIdAsync(id);

                if (music == null)
                {
                    return(NotFound(new { message = "A música não foi localizada." }));
                }

                repository.Delete(music);
                await context.SaveChangesAsync();

                return(Ok());
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError,
                                  new { message = ErrorMessage.Internal }));
            }
        }
Exemple #3
0
        /// <summary>
        /// Removes the Album request.
        /// </summary>
        /// <param name="requestId">The request identifier.</param>
        /// <returns></returns>
        public async Task <RequestEngineResult> RemoveAlbumRequest(int requestId)
        {
            var request = await MusicRepository.GetAll().FirstOrDefaultAsync(x => x.Id == requestId);

            var result = await CheckCanManageRequest(request);

            if (result.IsError)
            {
                return(result);
            }

            await MusicRepository.Delete(request);

            return(new RequestEngineResult
            {
                Result = true,
            });
        }
Exemple #4
0
        /// <summary>
        /// Removes the Album request.
        /// </summary>
        /// <param name="requestId">The request identifier.</param>
        /// <returns></returns>
        public async Task RemoveAlbumRequest(int requestId)
        {
            var request = await MusicRepository.GetAll().FirstOrDefaultAsync(x => x.Id == requestId);

            await MusicRepository.Delete(request);
        }
Exemple #5
0
 public void Delete(int id)
 {
     _musicRepository.Delete(id);
 }