public async Task AddShow(Guid cinemaId, Guid showId, CreateShowRequest request) { Cinema cinema = await _ctx.Cinemas.Include(c => c.Shows).FirstOrDefaultAsync(c => c.Id == cinemaId); Movie movie = await _ctx.Movies.FindAsync(request.MovieId); Dictionary <Ticket, decimal> priceList = request.PriceList.ToDictionary(x => x.Kind, x => x.Price); Show show = ShowFactory.Create(showId, cinema, movie, request.Date, priceList); cinema.AddShow(show); await _ctx.SaveChangesAsync(); }