git-svn-id: https://192.168.0.254/svn/Proyectos.ConstruccionesCNJ_FactuGES/trunk@4 6cb6b671-b4a0-dd4c-8bdc-3006503d97e9
351 lines
10 KiB
ObjectPascal
351 lines
10 KiB
ObjectPascal
unit uBizContactos;
|
|
|
|
interface
|
|
|
|
uses
|
|
uDAInterfaces, uDADataTable,
|
|
schContactosClient_Intf, uBizDatosBancarios, uBizCategoriasContacto,
|
|
uDBSelectionListUtils;
|
|
|
|
const
|
|
BIZ_CLIENT_CONTACTO = 'Client.Contacto';
|
|
BIZ_CLIENT_CLIENTE = 'Client.Cliente';
|
|
BIZ_CLIENT_PROVEEDOR = 'Client.Proveedor';
|
|
BIZ_CLIENT_VENDEDOR = 'Client.Vendedor';
|
|
BIZ_CLIENT_INSTALADOR = 'Client.Instalador';
|
|
|
|
CATEGORIA_CLIENTE = 1;
|
|
CATEGORIA_PROVEEDOR = 2;
|
|
CATEGORIA_VENDEDOR = 3;
|
|
CATEGORIA_INSTALADOR = 4;
|
|
|
|
type
|
|
IBizContacto = interface (IContactos)
|
|
['{D0373875-7F16-4772-9DA9-C1A1CA218120}']
|
|
procedure SetDatosBancarios(AValue : IBizDatosBancarios);
|
|
function GetDatosBancarios : IBizDatosBancarios;
|
|
property DatosBancarios : IBizDatosBancarios read GetDatosBancarios
|
|
write SetDatosBancarios;
|
|
|
|
function GetCategoria : String;
|
|
property Categoria : String read GetCategoria;
|
|
|
|
function _GetCategorias: IBizCategoriasContacto;
|
|
procedure _SetCategorias(const Value: IBizCategoriasContacto);
|
|
property _Categorias : IBizCategoriasContacto read _GetCategorias
|
|
write _SetCategorias;
|
|
|
|
function GetSelectedRecords: ISelectedRecords;
|
|
property SelectedRecords : ISelectedRecords read GetSelectedRecords;
|
|
|
|
function EsNuevo : Boolean;
|
|
end;
|
|
|
|
IBizCliente = interface (IBizContacto)
|
|
['{CF183EF1-DF27-491C-AEE3-F17AABBA6541}']
|
|
function GetID_VENDEDORValue: Integer;
|
|
procedure SetID_VENDEDORValue(const aValue: Integer);
|
|
function GetPROCEDENCIAValue: String;
|
|
procedure SetPROCEDENCIAValue(const aValue: String);
|
|
|
|
property ID_VENDEDOR: Integer read GetID_VENDEDORValue write SetID_VENDEDORValue;
|
|
property PROCEDENCIA: String read GetPROCEDENCIAValue write SetPROCEDENCIAValue;
|
|
end;
|
|
|
|
IBizProveedor = interface (IBizContacto)
|
|
['{0DA195B8-70DE-4DD0-BCD9-44BE30522DD7}']
|
|
function GetDISTRIBUYEValue: String;
|
|
procedure SetDISTRIBUYEValue(const aValue: String);
|
|
function GetDESCUENTOValue: Float;
|
|
procedure SetDESCUENTOValue(const aValue: Float);
|
|
|
|
property DISTRIBUYE: String read GetDISTRIBUYEValue write SetDISTRIBUYEValue;
|
|
property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
|
|
end;
|
|
|
|
IBizInstalador = interface (IBizContacto)
|
|
['{2B1B8D9D-2A26-4970-9B7C-9D585B8030DB}']
|
|
end;
|
|
|
|
IBizVendedor = interface (IBizContacto)
|
|
['{31F93CBB-CE69-4621-9BD7-C79D302A2F58}']
|
|
function GetPORCENTAJE_COMISIONValue: Float;
|
|
procedure SetPORCENTAJE_COMISIONValue(const aValue: Float);
|
|
|
|
property PORCENTAJE_COMISION: Float read GetPORCENTAJE_COMISIONValue write SetPORCENTAJE_COMISIONValue;
|
|
end;
|
|
|
|
|
|
TBizContacto = class(TContactosDataTableRules, IBizContacto, ISelectedRecords)
|
|
private
|
|
function GetSelected: Boolean;
|
|
procedure SetSelected(const Value: Boolean);
|
|
protected
|
|
FDatosBancarios : IBizDatosBancarios;
|
|
FDatosBancariosLink : TDADataSource;
|
|
FCategorias : IBizCategoriasContacto;
|
|
FCategoriasLink : TDADataSource;
|
|
|
|
FSelectedRecords : TSelectedRecords;
|
|
|
|
function _GetCategorias: IBizCategoriasContacto;
|
|
procedure _SetCategorias(const Value: IBizCategoriasContacto);
|
|
|
|
procedure SetDatosBancarios(AValue : IBizDatosBancarios);
|
|
function GetDatosBancarios : IBizDatosBancarios;
|
|
function GetCategoria : String;
|
|
|
|
procedure OnNewRecord(Sender: TDADataTable); override;
|
|
public
|
|
function EsNuevo : Boolean;
|
|
procedure IniciarValoresContactoNuevo; virtual;
|
|
constructor Create(aDataTable: TDADataTable); override;
|
|
destructor Destroy; override;
|
|
property Categoria : String read GetCategoria;
|
|
|
|
property _Categorias : IBizCategoriasContacto read _GetCategorias
|
|
write _SetCategorias;
|
|
|
|
property DatosBancarios : IBizDatosBancarios read GetDatosBancarios
|
|
write SetDatosBancarios;
|
|
|
|
function GetSelectedRecords: ISelectedRecords;
|
|
property SelectedRecords : ISelectedRecords read GetSelectedRecords implements ISelectedRecords;
|
|
|
|
property Selected : Boolean read GetSelected write SetSelected;
|
|
end;
|
|
|
|
TBizCliente = class(TBizContacto, IBizCliente)
|
|
protected
|
|
function GetID_VENDEDORValue: Integer; virtual;
|
|
procedure SetID_VENDEDORValue(const aValue: Integer); virtual;
|
|
function GetPROCEDENCIAValue: String; virtual;
|
|
procedure SetPROCEDENCIAValue(const aValue: String); virtual;
|
|
|
|
property ID_VENDEDOR: Integer read GetID_VENDEDORValue write SetID_VENDEDORValue;
|
|
property PROCEDENCIA: String read GetPROCEDENCIAValue write SetPROCEDENCIAValue;
|
|
public
|
|
procedure IniciarValoresContactoNuevo; override;
|
|
end;
|
|
|
|
TBizProveedor = class(TBizContacto, IBizProveedor)
|
|
protected
|
|
function GetDISTRIBUYEValue: String; virtual;
|
|
procedure SetDISTRIBUYEValue(const aValue: String); virtual;
|
|
function GetDESCUENTOValue: Float; virtual;
|
|
procedure SetDESCUENTOValue(const aValue: Float); virtual;
|
|
|
|
property DISTRIBUYE: String read GetDISTRIBUYEValue write SetDISTRIBUYEValue;
|
|
property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
|
|
public
|
|
procedure IniciarValoresContactoNuevo; override;
|
|
end;
|
|
|
|
TBizInstalador = class(TBizContacto, IBizInstalador)
|
|
public
|
|
procedure IniciarValoresContactoNuevo; override;
|
|
end;
|
|
|
|
TBizVendedor = class(TBizContacto, IBizVendedor)
|
|
protected
|
|
function GetPORCENTAJE_COMISIONValue: Float; virtual;
|
|
procedure SetPORCENTAJE_COMISIONValue(const aValue: Float); virtual;
|
|
|
|
property PORCENTAJE_COMISION: Float read GetPORCENTAJE_COMISIONValue write SetPORCENTAJE_COMISIONValue;
|
|
public
|
|
procedure IniciarValoresContactoNuevo; override;
|
|
end;
|
|
|
|
|
|
implementation
|
|
|
|
uses
|
|
uDataTableUtils, Classes, DateUtils, SysUtils, uDataModuleUsuarios;
|
|
|
|
{ TBizContacto }
|
|
|
|
function TBizContacto.GetSelected: Boolean;
|
|
begin
|
|
Result := FSelectedRecords.CurrentRowSelected
|
|
end;
|
|
|
|
procedure TBizContacto.SetSelected(const Value: Boolean);
|
|
begin
|
|
FSelectedRecords.CurrentRowSelected := True;
|
|
end;
|
|
|
|
|
|
constructor TBizContacto.Create(aDataTable: TDADataTable);
|
|
begin
|
|
inherited;
|
|
FCategoriasLink := TDADataSource.Create(NIL);
|
|
FCategoriasLink.DataTable := aDataTable;
|
|
|
|
FDatosBancariosLink := TDADataSource.Create(NIL);
|
|
FDatosBancariosLink.DataTable := aDataTable;
|
|
|
|
FSelectedRecords := TSelectedRecords.Create(aDataTable);
|
|
end;
|
|
|
|
destructor TBizContacto.Destroy;
|
|
begin
|
|
FCategorias := NIL;
|
|
FCategoriasLink.Free;
|
|
|
|
FDatosBancarios := NIL;
|
|
FDatosBancariosLink.Free;
|
|
|
|
FreeAndNIL(FSelectedRecords);
|
|
inherited;
|
|
end;
|
|
|
|
function TBizContacto.EsNuevo: Boolean;
|
|
begin
|
|
Result := (ID < 0);
|
|
end;
|
|
|
|
function TBizContacto.GetCategoria: String;
|
|
begin
|
|
case ID_CATEGORIA of
|
|
1 : Result := 'Cliente';
|
|
2 : Result := 'Proveedor';
|
|
3 : Result := 'Vendedor';
|
|
4 : Result := 'Instalador';
|
|
end;
|
|
end;
|
|
|
|
function TBizContacto.GetDatosBancarios: IBizDatosBancarios;
|
|
begin
|
|
Result := FDatosBancarios;
|
|
end;
|
|
|
|
function TBizContacto.GetSelectedRecords: ISelectedRecords;
|
|
begin
|
|
Result := FSelectedRecords;
|
|
end;
|
|
|
|
procedure TBizContacto.IniciarValoresContactoNuevo;
|
|
begin
|
|
//
|
|
USUARIO := dmUsuarios.LoginInfo.Usuario;
|
|
end;
|
|
|
|
procedure TBizContacto.OnNewRecord(Sender: TDADataTable);
|
|
begin
|
|
inherited;
|
|
ID := GetRecNo; // -1, -2, -3...
|
|
IniciarValoresContactoNuevo;
|
|
end;
|
|
|
|
procedure TBizContacto.SetDatosBancarios(AValue: IBizDatosBancarios);
|
|
begin
|
|
FDatosBancarios := AValue;
|
|
EnlazarMaestroDetalle(FDatosBancariosLink, FDatosBancarios);
|
|
end;
|
|
|
|
function TBizContacto._GetCategorias: IBizCategoriasContacto;
|
|
begin
|
|
Result := FCategorias;
|
|
end;
|
|
|
|
procedure TBizContacto._SetCategorias(const Value: IBizCategoriasContacto);
|
|
begin
|
|
FCategorias := Value;
|
|
EnlazarMaestroDetalle(FCategoriasLink, FCategorias);
|
|
end;
|
|
|
|
{ TBizCliente }
|
|
|
|
function TBizCliente.GetID_VENDEDORValue: Integer;
|
|
begin
|
|
result := DataTable.Fields[idx_ClientesID_VENDEDOR].AsInteger;
|
|
end;
|
|
|
|
procedure TBizCliente.SetID_VENDEDORValue(const aValue: Integer);
|
|
begin
|
|
DataTable.Fields[idx_ClientesID_VENDEDOR].AsInteger := aValue;
|
|
end;
|
|
|
|
function TBizCliente.GetPROCEDENCIAValue: String;
|
|
begin
|
|
result := DataTable.Fields[idx_ClientesPROCEDENCIA].AsString;
|
|
end;
|
|
|
|
procedure TBizCliente.IniciarValoresContactoNuevo;
|
|
begin
|
|
inherited;
|
|
ID_CATEGORIA := CATEGORIA_CLIENTE;
|
|
end;
|
|
|
|
procedure TBizCliente.SetPROCEDENCIAValue(const aValue: String);
|
|
begin
|
|
DataTable.Fields[idx_ClientesPROCEDENCIA].AsString := aValue;
|
|
end;
|
|
|
|
{ TBizInstalador }
|
|
|
|
procedure TBizInstalador.IniciarValoresContactoNuevo;
|
|
begin
|
|
inherited;
|
|
ID_CATEGORIA := CATEGORIA_INSTALADOR;
|
|
end;
|
|
|
|
{ TBizProveedor }
|
|
|
|
function TBizProveedor.GetDISTRIBUYEValue: String;
|
|
begin
|
|
result := DataTable.Fields[idx_ProveedoresDISTRIBUYE].AsString;
|
|
end;
|
|
|
|
procedure TBizProveedor.IniciarValoresContactoNuevo;
|
|
begin
|
|
inherited;
|
|
ID_CATEGORIA := CATEGORIA_PROVEEDOR;
|
|
end;
|
|
|
|
procedure TBizProveedor.SetDISTRIBUYEValue(const aValue: String);
|
|
begin
|
|
DataTable.Fields[idx_ProveedoresDISTRIBUYE].AsString := aValue;
|
|
end;
|
|
|
|
function TBizProveedor.GetDESCUENTOValue: Float;
|
|
begin
|
|
result := DataTable.Fields[idx_ProveedoresDESCUENTO].AsFloat;
|
|
end;
|
|
|
|
procedure TBizProveedor.SetDESCUENTOValue(const aValue: Float);
|
|
begin
|
|
DataTable.Fields[idx_ProveedoresDESCUENTO].AsFloat := aValue;
|
|
end;
|
|
|
|
{ TBizVendedor }
|
|
|
|
function TBizVendedor.GetPORCENTAJE_COMISIONValue: Float;
|
|
begin
|
|
result := DataTable.Fields[idx_VendedoresPORCENTAJE_COMISION].AsFloat;
|
|
end;
|
|
|
|
procedure TBizVendedor.SetPORCENTAJE_COMISIONValue(const aValue: Float);
|
|
begin
|
|
DataTable.Fields[idx_VendedoresPORCENTAJE_COMISION].AsFloat := aValue;
|
|
end;
|
|
|
|
procedure TBizVendedor.IniciarValoresContactoNuevo;
|
|
begin
|
|
inherited;
|
|
ID_CATEGORIA := CATEGORIA_VENDEDOR;
|
|
end;
|
|
|
|
|
|
initialization
|
|
RegisterDataTableRules(BIZ_CLIENT_CONTACTO, TBizContacto);
|
|
|
|
RegisterDataTableRules(BIZ_CLIENT_CLIENTE, TBizCliente);
|
|
RegisterDataTableRules(BIZ_CLIENT_PROVEEDOR, TBizProveedor);
|
|
RegisterDataTableRules(BIZ_CLIENT_VENDEDOR, TBizVendedor);
|
|
RegisterDataTableRules(BIZ_CLIENT_INSTALADOR, TBizInstalador);
|
|
|
|
finalization
|
|
|
|
end.
|