PRDS 2011.1 C#.Net Alexandre L. Silva [email protected] Programa 1. MVC 2. Banco de dados 3. Projeto de exemplo 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 2 MVC • Três componentes principais: – Modelo – Visão – Controle 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 3 MVC • Modelo – Parte da aplicação que define a lógica dos dados • Visão – Componentes que definem a interface com o usuário – Somente mostram informações • Controle – Componentes que recebem a interação do usuário, trabalha com o modelo e define em que parte da visão os dados serão exibidos 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 4 Banco de dados 1. Criar um projeto ASP.NET MVC Web Application 2. Criar o banco de dados com uma tabela 3. Criar o modelo desse banco no projeto 4. Criar o controle ASP.NET MVC 5. Criar a visão ASP.NET MVC 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 5 MVC 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 6 MVC 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 7 MVC • Apagar os arquivos – Controllers\HomeController.cs – Views\Home 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 8 MVC 1. Clicar com o botão direito do mouse no diretório App_Dara, escolher Add, New Item 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 9 MVC • Na janela Server Explorer, clicar em Tables e escolher Add New Table 15/7/2011 Column Name Data Type Allow Nulls Id Int False Title Nvarchar(100) False Director Nvarchar(100) False DateReleased DateTime False Alexandre L. Silva © LES/PUC - Rio 10 MVC 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 11 MVC • Na janela do Server Explorer , clicar no nome da tabela e escolher Show Table Data 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 12 MVC • Criar o modelo: 1. Na janela Solution Explorer, clicar na pasta Models e escolher Add, New Item 2. Escolher a categoria Data e selecionar ADO.NET Entity Data Model 3. Escolher o nome MoviesDBModel.edmx e clicar em Add 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 13 MVC 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 14 MVC 1. Na etapa Choose Model Contents, escolher a opção Generate from database 2. Na etapa Choose Your Data Connection, escolher o MoviesDB.mdf e colocar o nome MoviesDBEntities. Clicar em Next. 3. Na etapa Choose Your Database Objects, escolher Tables e a tabela Movies. No namespace, colocar MovieApp.Models. 4. Fim 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 15 MVC • Mudar o nome da classe para Movie 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 16 MVC • Criando o controller 1. Na janela do Solution Explorer, clicar na pasta Controllers, escolher Add, Controller. 2. Escolher o nome HomeController e marcar a opção Add action methods for Create, Update, and Details scenarios 3. Clicar em Add 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 17 MVC • Listar os objetos que estão no banco • HomeController.cs – Adicionar a biblioteca: using MovieApp.Models; – Antes do método Index(), declarar: • private MoviesDBEntities _db = new MoviesDBEntities(); – Dentro do método Index(), alterar: • return View(_db.MovieSet.ToList()); 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 18 MVC • Compilar a aplicação: – Menu Build, Build Solution 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 19 MVC • Adicionar a visão – Clicar no método Index() e escolher Add View 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 20 MVC • Marcar a opção Create a strongly-typed view • Na lista View content, escolher a opção List • Na lista View data class, escolher a opção MovieApp.Models.Movie • Clicar em Add 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 21 MVC • Rodar a aplicação 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 22 MVC • Inserir dados 1. No arquivo Controllers\HomeController.cs, modificar o método Create 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 23 MVC [HttpPost] public ActionResult Create([Bind(Exclude="Id")] Movies movieToCreate) { try { if (!ModelState.IsValid) return View(); _db.AddToMovies(movieToCreate); _db.SaveChanges(); return RedirectToAction("Index"); } catch { return View(); } } 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 24 MVC • Clicar no método Create e escolher Add View. 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 25 MVC • Clicar no método Edit() e escolher Add View 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 26 MVC 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 27 MVC 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 28 MVC 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 29 MVC 15/7/2011 Alexandre L. Silva © LES/PUC - Rio 30