public async Task <IActionResult> DeleteAlbum([FromRoute] int id) { Models.Album album = await albumRepository.GetAsync(id); if (album != null) { var userName = User.FindFirstValue(ClaimTypes.Name); if (album.Author.UserName != userName) { return(Forbid()); } foreach (Models.Photo photo in album.Photos) { photo.Album = null; } this.albumRepository.Delete(album); await this.unitOfWork.CompleteAsync(); return(Ok()); } else { return(NotFound()); } }
public async Task <IActionResult> UpdateAlbum([FromRoute] int id, [FromForm] AlbumResource albumResource) { Models.Album album = await albumRepository.GetAsync(id); if (album != null) { var userName = User.FindFirstValue(ClaimTypes.Name); if (album.Author.UserName != userName) { return(Forbid()); } if (string.IsNullOrEmpty(albumResource.Name)) { return(BadRequest()); } album.Name = albumResource.Name; album.ModifiedDate = DateTime.UtcNow; await this.unitOfWork.CompleteAsync(); var outputAlbumResource = mapper.Map <Models.Album, AlbumResource>(album); return(Ok(outputAlbumResource)); } else { return(NotFound()); } }
public virtual void Delete(Models.Album album) { this.context.Remove(album); }
public virtual void Add(Models.Album album) { this.context.Add(album); }