public IActionResult Edit(ArtworkVM model)
        {
            if (!ModelState.IsValid)
            {
                model.Artist      = new SelectList(artistRepository.GetArtists(), "Id", "Name");
                model.ArtworkType = new SelectList(artworkTypeRepository.GetArtworkTypes(), "Id", "Name");
                model.Country     = new SelectList(countryRepository.GetCountries(), "Id", "Name");
                model.Material    = new SelectList(materialRepository.GetMaterials(), "Id", "Name");
                model.Style       = new SelectList(styleRepository.GetStyles(), "Id", "Name");
                return(View("Add", model));
            }

            Artworks a = new Artworks();

            a.Id = model.Id;
            a.AccessionNumber = model.AccessionNumber;
            a.Active          = true;
            a.ArtistId        = model.ArtistId;
            a.ArtworkTypeId   = model.ArtworkTypeId;
            a.CatalogueEntry  = model.CatalogueEntry;
            a.CountryId       = model.CountryId;
            a.Date            = model.Date;
            a.MaterialId      = model.MaterialId;
            a.MuseumId        = model.MuseumId;
            a.Name            = model.Name;
            a.Provenance      = model.Provenance;
            a.StyleId         = model.StyleId;

            artworkRepository.UpdateArtwork(a);
            artworkRepository.Save();

            return(RedirectToAction("Details", new { id = a.Id }));
        }