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.
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.
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();
}
}
}
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.
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.
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();
}
}
}