示例#1
0
        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();
            }
        }
示例#2
0
 private async Task AddShow(ShowDto show)
 {
     var addShowCommand = new AddShowCommand
     {
         Show = show
     };
     await showCommandRepository.AddShowAsync(addShowCommand);
 }