public async Task <IActionResult> Edit(int id) { EditArtistViewModel model = new EditArtistViewModel(); var genresResult = await _genreRepo.ListAsync(contentPublicationFlags : PublishStatus.PUBLISHED); model.Genres = genresResult.Genres.Select(g => new SelectableGenreViewModel { Name = g.Name, IsSelected = false }).ToList(); ArtistDetail artist = await _artistRepo.GetAsync(id); if (artist != null) { model.Id = artist.Id; model.Name = artist.Name; model.BioText = artist.BioText; model.BioImageId = artist.BioImageId; model.Created = artist.CreatedUtc; model.Updated = artist.UpdatedUtc; model.PublishedStatus = artist.PublishedStatus; model.Genres.Where(g => artist.Genres.Contains(g.Name)).ToList().ForEach(x => x.IsSelected = true); return(View(model)); } else { // todo: show error message return(RedirectToAction(nameof(Index))); } }
public async Task <IActionResult> Edit(EditArtistViewModel model) { ArtistDetail artist = await _artistRepo.GetAsync(model.Id); if (artist != null) { // set non postback properties model.BioImageId = artist.BioImageId; model.Created = artist.CreatedUtc; model.Updated = artist.UpdatedUtc; model.PublishedStatus = artist.PublishedStatus; if (ModelState.IsValid) { int?createdBioImageId = null; if (model.BioImage != null && model.BioImage.Length > 0) { using (MemoryStream ms = new MemoryStream()) { await model.BioImage.CopyToAsync(ms); ImageReferenceDetail imageRef = await _imageRepo.AddAsync(new ImageReferenceDetail { Data = ms.ToArray(), FileName = model.BioImage.FileName, MimeType = model.BioImage.ContentType }); if (imageRef != null) { createdBioImageId = imageRef.Id; } } } artist.Name = model.Name; artist.BioText = model.BioText; artist.UpdatedUtc = DateTime.UtcNow; artist.Genres = model.Genres.Where(g => g.IsSelected).Select(g => g.Name).ToList(); if (createdBioImageId.HasValue) { artist.BioImageId = createdBioImageId.Value; } await _artistRepo.UpdateAsync(artist.Id, artist); this.SetBootstrapPageAlert("Success", "Artist updated", BootstrapAlertType.success); return(RedirectToAction(nameof(Index))); } else { return(View(model)); } } else { // todo: show error message return(RedirectToAction(nameof(Index))); } }
public IActionResult Edit(EditArtistViewModel viewModel) { if (!ModelState.IsValid) { return(View()); } artistRepository.EditArtist(viewModel); return(RedirectToAction("index")); }
public void EditArtist(EditArtistViewModel model) { var artist = new Artist { Id = model.Id, Name = model.Name, EMail = model.Email, Revenue = model.Revenue, Description = model.Description }; context.Artists.Update(artist); context.SaveChanges(); }
public ActionResult Edit(Guid id) { var response = _artistService.GetArtist(new GetArtistRequest { Id = id }); var model = new EditArtistViewModel { Id = response.Artist.Id, Name = response.Artist.Name }; return(View(model)); }
public ActionResult Edit(EditArtistViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var request = new EditArtistRequest { Id = model.Id, Name = model.Name }; _artistService.EditArtist(request); return(RedirectToAction("Index")); }
public EditArtistPage(Artist artist) { InitializeComponent(); BindingContext = _viewModel = new EditArtistViewModel(Navigation, artist); }