Пример #1
0
        public ActionResult <string> Update(VinylRequest updatedVinyl)
        {
            try
            {
                var itemFromDb = _vinylsDb.Vinyl.FirstOrDefault(item => item.VinylID == updatedVinyl.VinylID);
                if (itemFromDb == null)
                {
                    return(NotFound("Vinyl not found"));
                }

                Genre gen;

                if (updatedVinyl.GenreID == 0)
                {
                    gen = itemFromDb.Genre;
                }
                else
                {
                    gen = _vinylsDb.Genre.FirstOrDefault(g => g.GenreID == updatedVinyl.GenreID);
                }
                if (gen == null)
                {
                    return(NotFound("Vinyl genre not found"));
                }

                itemFromDb.CopyItemRequest(updatedVinyl, gen);
                _vinylsDb.SaveChanges();

                return(Ok("Vinyl updated"));
            }
            catch (Exception)
            {
                return(StatusCode(500, "Failed to update"));
            }
        }
Пример #2
0
        public ActionResult <Response> Add(VinylRequest newVinyl)
        {
            var   newVin = _vinylsDb.Genre.FirstOrDefault(v => v.GenreID == newVinyl.GenreID);
            Vinyl vinyl  = new(newVinyl, newVin);

            if (newVin == null)
            {
                return(StatusCode(500, new Response()
                {
                    Message = "Failed to add; Genre doesn't match", VinylResponse = null
                }));
            }
            else
            {
                try
                {
                    _vinylsDb.Vinyl.Add(vinyl);
                    _vinylsDb.SaveChanges();
                    return(Ok(new Response()
                    {
                        Message = "Added Successfully", VinylResponse = vinyl
                    }));
                }
                catch (Exception)
                {
                    return(StatusCode(500, new Response()
                    {
                        Message = "Failed to add", VinylResponse = null
                    }));
                }
            }
        }
Пример #3
0
 public void CopyItemRequest(VinylRequest itemToCopy, Genre gen)
 {
     VinylID          = itemToCopy.VinylID;
     VinylImage       = itemToCopy.VinylImage;
     VinylName        = itemToCopy.VinylName;
     Artist           = itemToCopy.Artist;
     VinylDescription = itemToCopy.VinylDescription;
     ReleaseYear      = itemToCopy.ReleaseYear;
     Genre            = gen;
 }
Пример #4
0
 public Vinyl(VinylRequest itemToCopy, Genre gen)
 {
     CopyItemRequest(itemToCopy, gen);
 }