Documentos de Académico
Documentos de Profesional
Documentos de Cultura
NET
}
}
Como se puede ver LIBNETBusinessEntity solo contiene propiedades y un
constructor, que nos proporciona los objetos que van a contener los datos
que van a pasar a través de las capas. De esta manera todas las capas
conocen la estructura, a través de esta clase
- La lógica de los componentes empresariales según la Arquitectura.
Estará implementada por el componente LIBNETBusinessLogic, y el
objetivo es que contenga la lógica de negocios, y en este caso al usar
COM+ inicien las transacciones
using System;
using LIBNETData;
using LIBNETBusinessEntity;
using System.EnterpriseServices;
using System.Runtime.InteropServices;
namespace LIBNETBusinessLogic
{
[Transaction(TransactionOption.Required)]
[Guid("440FB96E-2EE6-489d-9ED2-F3E2456C0170")]
public class CPedidoBT:ServicedComponent
{
public CPedidoBT()
{
}
[AutoComplete]
public bool RegistrarPedido(CPedidoBE oCPedido)
{
CPedidoD oCPedidoD = new CPedidoD();
if (oCPedidoD.RegistrarPedido(oCPedido))
{
CLibroD oCLibroD = new CLibroD();
oCLibroD.ActualizarStock(oCPedido);
return true;
}
else
{
return false;
}
}
}
}
namespace LIBNETData
{
[Transaction(TransactionOption.Supported)]
[Guid("440FB96E-2EE6-489d-9ED2-F3E123456170")]
[ConstructionEnabled(Default="server=localhost;database=LIBNET2003;uid=sa;pwd=;")]
[AutoComplete]
public bool ActualizarStock(CPedidoBE oCPedido)
{
int iIdLibro = oCPedido.IIdLibro;
int iCantidad = oCPedido.ICantidad;
try
{
SqlHelper.ExecuteNonQuery(this.sCadenaConexion,
"usp_ActualizarStockLibro",iIdLibro,iCantidad);
return true;
}
catch
{
return false;
}
}
public CLibroD()
{
//
// TODO: Add constructor logic here
//
}
}
}
Notar el uso del Constructor String
[ConstructionEnabled(Default="server=localhost;database=LIBNET2003;ui
d=sa;pwd=;")]
[ConstructionEnabled(Default="server=localhost;database=LIBNET2003;uid=sa;pwd=;")]
public class CPedidoD:ServicedComponent
{
private string sCadenaConexion;
protected override void Construct(string s)
{
this.sCadenaConexion = s;
}
[AutoComplete]
public bool RegistrarPedido(CPedidoBE oCPedido)
{
int iIdLibro = oCPedido.IIdLibro;
int iCantidad = oCPedido.ICantidad;
try
{
SqlHelper.ExecuteNonQuery(this.sCadenaConexion,
"usp_AgregarPedido",iIdLibro,iCantidad);
return true;
}
catch(Exception e)
{
return false;
}
}
public CPedidoD()
}
}