public async Task SaveShowAsync(Show show) { if (show == null) { throw new ArgumentNullException($"{nameof(show)} is null"); } // save show await showRepository.CreateAsync(show); await showRepository.SaveAsync(); // save cast await SaveCastAsync(show.Casts); }