I will build a system in C# and I want to use the three layers architecture is next:
Entity Layer
namespace EntitiesLayer
{
public class ECategoria
{
private int _idcategoria;
private string categoria;
private string descripcion;
public int Idcategoria
{
get { return _idcategoria; }
set { _idcategoria = value; }
}
public string Categoria
{
get { return categoria; }
set { categoria = value; }
}
public string Descripcion
{
get { return descripcion; }
set { descripcion = value; }
}
Data Access Layer
public class DCategoria
{
public string Act_Categoria(ECategoria categoria)
{
string rpta = "";
DataSet ds = new DataSet();
try
{
string query = "SP_ACTCATEGORIA";
Dictionary<string, object> parameters = new Dictionary<string, object>();
parameters.Add("@idcategoria", categoria.Idcategoria);
parameters.Add("@categoria", categoria.Categoria);
parameters.Add("@descripcion", categoria.Descripcion);
ds = dbconnection.execute_query(query, parameters);
if (ds == null)
{
rpta = "Error Insertando";
}
else
{
rpta = "REGISTRO REGISTRADO/ACTUALIZADO EXITOSAMENTE";
}
}
catch (Exception ex)
{
rpta = ex.Message;
}
return rpta;
}
Business Logic Layer
public class BCategoria { private DCategoria data_categoria = new DCategoria();
public string Act_categoria(ECategoria categoria)
{
return data_categoria.Act_Categoria(categoria);
}
public DataSet Select_categoria()
{
return data_categoria.Select_Categoria();
}
public string Delete_categoria(ECategoria categoria)
{
return data_categoria.Delete_Categoria(categoria);
}
public DataSet FilterbyID(ECategoria categoria)
{
return data_categoria.FilterbyID(categoria);
}
public DataSet FilterByName(ECategoria categoria)
{
return data_categoria.FilterByName(categoria);
}
Presentation Layer
public ECategoria get_data()
{
ECategoria categoria = new ECategoria();
categoria.Idcategoria = Convert.ToInt32(this.txtcodigo.Text.Trim());
categoria.Categoria = this.txtcategoria.Text.Trim();
categoria.Descripcion = this.txtcategoria.Text.Trim();
return categoria;
}
private void btnNuevo_Click(object sender, EventArgs e)
{
categoria = get_data();
rpta = bus_categoria.Act_categoria(categoria);
}
Is this a good implementation of the three layers architecture?