public async Task <IActionResult> CreateOrUpdate([FromForm] CreateOrUpdateActorViewModel model) { if (!ModelState.IsValid) { return(View(model)); } await PrepareAsync(model); return(RedirectToAction("Index")); }
private async Task <IEnumerable <FilmReturnModel> > FetchSelectedFilmsAsync(CreateOrUpdateActorViewModel model) { var actors = new List <FilmReturnModel>(); if (model.IsNopeFilms) { return(actors); } if (model.SelectedFilms == null) { return(actors); } foreach (var selectedFilmId in model.SelectedFilms) { actors.Add(await _apiTools.FetchAsync <FilmReturnModel>( $"https://localhost:5001/api/films/get/{selectedFilmId}")); } return(actors); }
private async Task PrepareAsync(CreateOrUpdateActorViewModel model) { var selectedFilms = await FetchSelectedFilmsAsync(model); if (model.Actor.ActorId == 0) { await _apiTools.PostAsync <ActorReturnModel>("https://localhost:5001/api/actors/create", new { model.Actor.FirstName, model.Actor.LastName, model.Actor.Birthday, Films = selectedFilms }); } else { await _apiTools.PostAsync <ActorReturnModel>("https://localhost:5001/api/actors/update", new { model.Actor.ActorId, model.Actor.FirstName, model.Actor.LastName, model.Actor.Birthday, Films = selectedFilms }); } }