public async Task <IActionResult> PutFavoriteArtist(int id, FavoriteArtist favoriteArtist) { if (id != favoriteArtist.id) { return(BadRequest()); } _context.Entry(favoriteArtist).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FavoriteArtistExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <FavoriteArtist> > PostFavoriteArtist([FromBody] FavoriteArtist favoriteArtist) { if (favoriteArtist is null) { throw new ArgumentNullException(nameof(favoriteArtist)); } _context.FavoriteArtists.Add(favoriteArtist); await _context.SaveChangesAsync(); return(CreatedAtAction("GetFavoriteArtist", new { id = favoriteArtist.id }, favoriteArtist)); }
public async Task <ActionResult> Update(FavoriteArtist favoriteArtist) { try { var favoriteArtistToUpdate = _mapper.Map <FavoriteArtistDto>(favoriteArtist); await _favoriteArtistLogic.Update(favoriteArtistToUpdate); return(Ok()); } catch (Exception e) { _logLogic.Log(e); return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public async Task <Unit> Handle(AddCommand request, CancellationToken cancellationToken) { var user = await _context.Users.SingleOrDefaultAsync(x => x.UserName == _userAccessor.Username); if (request.ArtistsIds.Count == 0) { throw new RestException(System.Net.HttpStatusCode.BadRequest, new { msg = "You dont choose any artist" }); } else { var artists = _context.Artists.ToList(); foreach (var artist in artists) { if (request.ArtistsIds.Contains(artist.Id)) { var favoriteArtist = new FavoriteArtist { AppUserId = user.Id, ArtistId = artist.Id }; if (!await _context.FavoriteArtists.AnyAsync(x => x.ArtistId == favoriteArtist.ArtistId && x.AppUserId == favoriteArtist.AppUserId)) { _context.FavoriteArtists.Add(favoriteArtist); } else { continue; } if (await _context.SaveChangesAsync() == 0) { throw new Exception("Proplem Saving Changes"); } } } return(Unit.Value); } }