ASP.Net MVC - Models

Nesta aula iremos trabalhar nos modelos de nosso projeto CMS em MVC, utilizaremos a arquitetura três camadas para criar o acesso ao nosso banco de dados.

assinaturaAssine nossa Comunidade

Asp Net MVC - Models

A Model é acessada através da camada Controller. Dessa forma, a camada model é responsável por acessar os dados na base de dados e devolver os dados novamente para a Controller.Os dados que foram devolvidos para a controller serão apresentados na View.

Faremos um exemplo criando uma tabela no banco de dados chamada páginas que terá interação com a biblioteca de modelo que criamos no Projeto. Iremos trabalhar com o SQL e o DataAdapter, para conectar o modelo ao banco de dados. Com essa camada de dados funcionando, podemos enviar os dados para o nosso Controller, que enviará as informações para a View.

  • Criar nova classe no projeto Database chamada Pagina.cs;
  • Configurar chave chamada SqlConn no arquivo web.config para inserir a string de conexão com o banco de dados Sql Server em AppSettings;
      
        namespace Database
        {
          public class Pagina
          {
            private string sqlConn() 
            {
              return ConfigurationManager,AppSettings["SqlConn"];
            }

            public DataTable Lista() 
            {
              using (SqlConnection connection = new SqlConnection(SqlConn()))
              {

                string queryString = "select * from paginas";
                SqlCommand command = new SqlCommand(queryString, connection);
                command.Connection.Open();
                
                SqlDataAdapter adapter = new SqlDataAdapter();
                adapter.SelectCommand = command;

                DataTable table = new DataTable();
                adapter.Fill(table);
                return table;

              }
            }
          }
        }
       
     
      
        namespace Business
        {
          public class Pagina
          {
            private string sqlConn() 
            {
              return ConfigurationManager,AppSettings["SqlConn"];
            }

            public DataTable Lista() 
            {
              using (SqlConnection connection = new SqlConnection(SqlConn()))
              {

                string queryString = "select * from paginas";
                SqlCommand command = new SqlCommand(queryString, connection);
                command.Connection.Open();
                
                SqlDataAdapter adapter = new SqlDataAdapter();
                adapter.SelectCommand = command;

                DataTable table = new DataTable();
                adapter.Fill(table);
                return table;

              }
            }
          }
        }
       
     

Criaremos uma classe chamada Pagina.cs na camada de Business, com as propriedades get e set:

      
        namespace Business
        {
          public class Pagina
          {
            public int Id { get;set };
            public string Nome { get;set };
            public string Conteudo { get;set };
            public DateTime Data { get;set };
  
          }

          public List< Pagina> Lista()
          {
            var lista = new List< Pagina();
            var paginaDb = Database.Pagina()
            foreach(DataRow row in paginaDb.Lista().Rows)
            {
              var pagina = new Produto();
              pagina.Id = Convert.ToInt32(row["id"]);
              pagina.Nome = row["nome"].ToString();
              pagina.Conteudo = row["conteudo"].ToString();
              pagina.Data = Convert.ToDateTime(row["data"]);
              lista.Add(pagina);
            }
            return lista;
          }
        } 
      
    

Com os dados previamente cadastrados no Sql Server, iremos mostrá-los na Página:

      
       @{
         ViewBag.Title = "home Page";
         List< Business.Pagina> paginas = ViewBag.Paginas;
       }

      < div class = "jumbotron">
        < h1>Paginas < /h1>
          < ul> 
            @foreach(var p in paginas)
            {
              < li>@p.Nome< /li>
            }
          
      < /div>

      
    
      
        namespace MVC_GerenciadorDeConteudo.Controllers
        {
          public class HomeController : Controller 
            {
              
              public ActionResult Index()
              {
                ViewBag.Paginas = new Pagina().Lista();
                return View();
              }
  
            }
        }
       
    

ASP.Net MVC - Models

Nesta aula iremos trabalhar nos modelos de nosso projeto CMS em MVC, utilizaremos a arquitetura três camadas para criar o acesso ao nosso banco de dados.

Próximas Aulas:
assinaturaAssine nossa Comunidade

Asp Net MVC - Models

A Model é acessada através da camada Controller. Dessa forma, a camada model é responsável por acessar os dados na base de dados e devolver os dados novamente para a Controller.Os dados que foram devolvidos para a controller serão apresentados na View.

Faremos um exemplo criando uma tabela no banco de dados chamada páginas que terá interação com a biblioteca de modelo que criamos no Projeto. Iremos trabalhar com o SQL e o DataAdapter, para conectar o modelo ao banco de dados. Com essa camada de dados funcionando, podemos enviar os dados para o nosso Controller, que enviará as informações para a View.

  • Criar nova classe no projeto Database chamada Pagina.cs;
  • Configurar chave chamada SqlConn no arquivo web.config para inserir a string de conexão com o banco de dados Sql Server em AppSettings;
      
        namespace Database
        {
          public class Pagina
          {
            private string sqlConn() 
            {
              return ConfigurationManager,AppSettings["SqlConn"];
            }

            public DataTable Lista() 
            {
              using (SqlConnection connection = new SqlConnection(SqlConn()))
              {

                string queryString = "select * from paginas";
                SqlCommand command = new SqlCommand(queryString, connection);
                command.Connection.Open();
                
                SqlDataAdapter adapter = new SqlDataAdapter();
                adapter.SelectCommand = command;

                DataTable table = new DataTable();
                adapter.Fill(table);
                return table;

              }
            }
          }
        }
       
     
      
        namespace Business
        {
          public class Pagina
          {
            private string sqlConn() 
            {
              return ConfigurationManager,AppSettings["SqlConn"];
            }

            public DataTable Lista() 
            {
              using (SqlConnection connection = new SqlConnection(SqlConn()))
              {

                string queryString = "select * from paginas";
                SqlCommand command = new SqlCommand(queryString, connection);
                command.Connection.Open();
                
                SqlDataAdapter adapter = new SqlDataAdapter();
                adapter.SelectCommand = command;

                DataTable table = new DataTable();
                adapter.Fill(table);
                return table;

              }
            }
          }
        }
       
     

Criaremos uma classe chamada Pagina.cs na camada de Business, com as propriedades get e set:

      
        namespace Business
        {
          public class Pagina
          {
            public int Id { get;set };
            public string Nome { get;set };
            public string Conteudo { get;set };
            public DateTime Data { get;set };
  
          }

          public List< Pagina> Lista()
          {
            var lista = new List< Pagina();
            var paginaDb = Database.Pagina()
            foreach(DataRow row in paginaDb.Lista().Rows)
            {
              var pagina = new Produto();
              pagina.Id = Convert.ToInt32(row["id"]);
              pagina.Nome = row["nome"].ToString();
              pagina.Conteudo = row["conteudo"].ToString();
              pagina.Data = Convert.ToDateTime(row["data"]);
              lista.Add(pagina);
            }
            return lista;
          }
        } 
      
    

Com os dados previamente cadastrados no Sql Server, iremos mostrá-los na Página:

      
       @{
         ViewBag.Title = "home Page";
         List< Business.Pagina> paginas = ViewBag.Paginas;
       }

      < div class = "jumbotron">
        < h1>Paginas < /h1>
          < ul> 
            @foreach(var p in paginas)
            {
              < li>@p.Nome< /li>
            }
          
      < /div>

      
    
      
        namespace MVC_GerenciadorDeConteudo.Controllers
        {
          public class HomeController : Controller 
            {
              
              public ActionResult Index()
              {
                ViewBag.Paginas = new Pagina().Lista();
                return View();
              }
  
            }
        }