private Album ChangeForUpdate(Album album, UpdateAlbumInput input) { album.Name = input.Name; if (input.MyCoverImage?.Length > 0) { if (album.CoverImage != null) { DeleteFile(album.CoverImage); } album.CoverImage = input.MyCoverImage.FileName; } if (input.MyQuality128?.Length > 0) { if (album.Quality128 != null) { DeleteFile(album.Quality128); } album.Quality128 = input.MyQuality128.FileName; } if (input.MyQuality320?.Length > 0) { if (album.Quality320 != null) { DeleteFile(album.Quality320); } album.Quality320 = input.MyQuality320.FileName; } album.Link = input.Link; album.TitleTag = input.TitleTag; album.MetaDescription = input.MetaDescription; album.MetaTag = input.MetaTag; album.StyleId = input.StyleId; album.ArtistId = input.ArtistId; return(album); }
public async Task <IActionResult> UpdateAlbum([FromForm] UpdateAlbumInput updateAlbumInput) { if (!ModelState.IsValid) { return(BadRequest()); } var updateAlbum = await albumCrud.UpdateAlbum(updateAlbumInput); if (updateAlbum == false) { return(NotFound()); } return(Ok()); }
public async Task <bool> UpdateAlbum(UpdateAlbumInput updateAlbumInput) { var getAlbum = await albumRepository.Get(updateAlbumInput.Id); if (getAlbum == null) { return(false); } var tracksOfAlbum = await trackRepository.GetQuery() .Where(tracks => tracks.AlbumId == updateAlbumInput.Id) .ToListAsync(); foreach (var item in tracksOfAlbum) { item.StyleId = updateAlbumInput.StyleId; item.ArtistId = updateAlbumInput.ArtistId; trackRepository.Update(item); } await trackRepository.Save(); await UploadFile(updateAlbumInput.MyCoverImage); await UploadFile(updateAlbumInput.MyQuality128); await UploadFile(updateAlbumInput.MyQuality320); var changeAlbum = ChangeForUpdate(getAlbum, updateAlbumInput); albumRepository.Update(changeAlbum); await albumRepository.Save(); return(true); }