public async Task AddShowAsync(AddShowCommand addShowCommand) { bool exists = await context.Shows.AnyAsync(s => s.ApiId == addShowCommand.Show.Id); if (!exists) { var show = mapper.Map <ShowDto, Show>(addShowCommand.Show); await context.Shows.AddAsync(show); foreach (var actor in addShowCommand.Show.Cast) { var dbActor = await context.Actors.SingleOrDefaultAsync(a => a.ApiId == actor.Id); if (dbActor == null) { dbActor = mapper.Map <ActorDto, Actor>(actor); await context.Actors.AddAsync(dbActor); } await context.ActorShow.AddAsync(new ActorShow { Actor = dbActor, Show = show }); } await context.SaveChangesAsync(); } }
private async Task AddShow(ShowDto show) { var addShowCommand = new AddShowCommand { Show = show }; await showCommandRepository.AddShowAsync(addShowCommand); }