public async Task <ActionResult <AtualizarFilmeDTO> > PutGet(int id) { var filmeResult = await GetFilme(id); if (filmeResult.Result is NotFoundResult) { return(NotFound()); } DetalhesFilmeDTO filmeDetail = filmeResult.Value; List <int> idsGenerosSelecionados = filmeDetail.Generos.Select(x => x.Id).ToList(); List <int> idsTiposSelecionados = filmeDetail.TiposFilme.Select(x => x.Id).ToList(); List <Genero> generosNaoSelecionados = await _context.Generos.Where(x => !idsGenerosSelecionados.Contains(x.Id)).ToListAsync(); List <TipoFilme> tipoFilmeSelecionados = await _context.TipoFilmes.Where(x => !idsTiposSelecionados.Contains(x.Id)).ToListAsync(); AtualizarFilmeDTO atualizarFilme = new AtualizarFilmeDTO(); atualizarFilme.Filme = filmeDetail.Filme; atualizarFilme.GenerosSelecionados = filmeDetail.Generos; atualizarFilme.GenerosNaoSelecionados = generosNaoSelecionados; atualizarFilme.tiposDoFilme = tipoFilmeSelecionados; return(atualizarFilme); }
public async Task <ActionResult <AtualizarFilmeDTO> > PutGet(int id) { var filmeActionResult = await Get(id); if (filmeActionResult.Result is NotFoundResult) { return(NotFound()); } var filme = filmeActionResult.Value; var idsGenerosSelecionados = filme.Generos.Select(x => x.Id).ToList(); var generosNaoSelecionados = await _db.Genero.Where(x => !idsGenerosSelecionados.Contains(x.Id)).ToListAsync(); var idsSalasSelecionadas = filme.Salas.Select(x => x.Id).ToList(); var salasNaoSelecionadas = await _db.Sala.Where(x => !idsSalasSelecionadas.Contains(x.Id)).ToListAsync(); var modelo = new AtualizarFilmeDTO { Filme = filme.Filme, GenerosNaoSelecionados = generosNaoSelecionados, GenerosSelecionados = filme.Generos, SalasNaoSelecionadas = salasNaoSelecionadas, SalasSelecionadas = filme.Salas, Atores = filme.Atores }; return(modelo); }