Bom dia,
estou desenvolvendo um sistema em EF4 e estou tentando aplicar o conceito de N camadas, para deixar o sistema flexivel.
Bom, ate agora o que eu tenho é: CAMADA VIEW, CAMADA ENTITIES (classes entidades), CAMADA BC (Camada de negocios que chama o contexto), CAMADA CONTEXTO(onde tenho meu .edmx e meu contexto).
Gostaria muito de saber se esta arquitetura esta correta, pois estou tendo algumas dificuldades, alem do mais, toda e qualquer referencia que pego de EF4, a chamada do contexto é feita através do evento do botão, sem nenhuma camada de
tratamento entre elas.
para exemplificar, segue um exemplo:
CAMADA VIEW
protected void btnSalvar_Click(object sender, EventArgs e)
{
PlanoPagamento obj = new PlanoPagamento();
obj.Id = Convert.ToInt32(hfId.Value);
obj.Descricao = txtDescricao.Text;
obj.Parcelas = Convert.ToInt32(txtParcelas.Text);
obj.Status = ddlStatus.SelectedValue;
try
{
objBC.Salvar(obj);
Bind();
pnResponse.CssClass = "box-success closeable";
lblResponse.Text = "Dados alterados com sucesso !";
}
catch (Exception ex)
{
pnResponse.CssClass = "box-error closeable";
lblResponse.Text = "Erro: " + ex.Message;
}
pnResponse.Visible = true;
}
CAMADA BC
public void Salvar(PlanoPagamento entidade)
{
Model.DentalWebContainer ctx = new Model.DentalWebContainer();
try
{
if (entidade.Id == 0)
{
ctx.PlanosPagamento.AddObject(entidade);
}
else
{
ctx.PlanosPagamento.Attach(entidade);
ctx.ObjectStateManager.ChangeObjectState(entidade, EntityState.Modified);
}
ctx.SaveChanges();
}
catch (Exception ex)
{
throw ex;
}
}<br/>
Model.DentalWebContainer É UMA CAMADA E A CLASSE PlanoPagamento FICA EM OUTRA CAMADA DIFERENTE.<br/>
<br/>
<br/>
GOSTARIA DE SABER SE ESTE É O JEITO CORRETO !!!!!<br/>
<br/>
GRATO<br/>
Matheus Reis MCP - .Net Framework