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")); } }
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 })); } } }
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; }
public Vinyl(VinylRequest itemToCopy, Genre gen) { CopyItemRequest(itemToCopy, gen); }