public async Task <IActionResult> Edit(int id, [Bind("Id,FilmeFK,GeneroFK")] FilmeGenero filmeGenero)
        {
            if (id != filmeGenero.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(filmeGenero);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!FilmeGeneroExists(filmeGenero.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["FilmeFK"]  = new SelectList(_context.Filme, "Id", "Titulo", filmeGenero.FilmeFK);
            ViewData["GeneroFK"] = new SelectList(_context.Genero, "Id", "Nome", filmeGenero.GeneroFK);
            return(View(filmeGenero));
        }
예제 #2
0
        public async Task <IActionResult> Create([FromForm] Filme filme)
        {
            if (ModelState.IsValid)
            {
                foreach (var gen in filme.ListaGenerosJoin.Split(','))
                {
                    int    generoId = Convert.ToInt32(gen);
                    Genero genero   = await _context.Generos.FirstOrDefaultAsync(x => x.Id == generoId);

                    FilmeGenero filmGen = new FilmeGenero();
                    filmGen.Genero = genero;
                    filme.Generos.Add(filmGen);
                }

                foreach (var tipo in filme.ListaTiposJoin.Split(','))
                {
                    int       tipoId    = Convert.ToInt32(tipo);
                    TipoFilme tipoFilme = await _context.TipoFilmes.FirstOrDefaultAsync(x => x.Id == tipoId);

                    FilmeTipoFilme filmeTipo = new FilmeTipoFilme();
                    filmeTipo.TipoFilme = tipoFilme;
                    filme.TiposFilme.Add(filmeTipo);
                }


                _context.Add(filme);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(filme));
        }
예제 #3
0
        public async Task <IActionResult> PutFilmeGenero(int id, FilmeGenero filmeGenero)
        {
            if (id != filmeGenero.Tconst)
            {
                return(BadRequest());
            }

            _context.Entry(filmeGenero).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!FilmeGeneroExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <IActionResult> Create([Bind("Id,FilmeFK,GeneroFK")] FilmeGenero filmeGenero)
        {
            if (ModelState.IsValid)
            {
                _context.Add(filmeGenero);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["FilmeFK"]  = new SelectList(_context.Filme, "Id", "Titulo", filmeGenero.FilmeFK);
            ViewData["GeneroFK"] = new SelectList(_context.Genero, "Id", "Nome", filmeGenero.GeneroFK);
            return(View(filmeGenero));
        }
예제 #5
0
        // Método Editar: Retorna o filme por meio do ID
        public ActionResult Editar(FilmeGenero filme)
        {
            if (CheckLogin())                                                                                                                                                                                                                                          // Verifica se a sessão Usuario_Nome existe
            {
                using (IDbConnection db = new SqlConnection(DapperDBConnection))                                                                                                                                                                                       // Estabelecendo conexão com o banco de dados
                {
                    filmeGenero = db.Query <FilmeGenero>("SELECT f.[Id], f.[Nome], f.[Genero_Id], g.[Nome] AS Genero_Nome, f.[Ativo], f.[Data_Criacao] FROM Filme AS f LEFT JOIN Genero AS g ON f.[Genero_Id] = g.[Id] WHERE f.[Id] = " + filme.Id).SingleOrDefault(); // Localisa filme por ID com o nome/id do seu respectivo genero
                }

                return(Json(filmeGenero, JsonRequestBehavior.AllowGet)); // Caso esteja logado, retorna o resultado da consulta em json
            }
            else
            {
                return(RedirecionaPaginaLogin()); // Caso contrário, redireciona para página de login
            }
        }
예제 #6
0
        public async Task <ActionResult <FilmeGenero> > PostFilmeGenero([FromBody] FilmeGeneroTemp filmeGeneroTemp)
        {
            var gen = await _context.Genero.FirstAsync(x => x.Nome == filmeGeneroTemp.Genero);

            var filmeGenero = new FilmeGenero
            {
                IdGenero = gen.IdGenero,
                Tconst   = filmeGeneroTemp.Tconst
            };

            await _context.FilmeGenero.AddAsync(filmeGenero);

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                return(Conflict());
            }

            return(CreatedAtAction("GetFilmeGenero", new { id = filmeGenero.Tconst }, filmeGenero));
        }