Пример #1
0
        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());
        }
Пример #2
0
        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));
            }
        }
Пример #4
0
            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);
                }
            }