unit uBizDetallesPedidoCliente;

interface

uses
  uDADataTable, schPedidosClienteClient_Intf;

const
  BIZ_CLIENT_DETALLES_PEDIDO_CLIENTE = 'Client.PedidoCliente.Detalles';
  BIZ_CLIENT_ARTICULOS_PEND_PEDIDO_CLIENTE = 'Client.PedidoCliente.ArticulosPendientes';

type
  IBizDetallesPedidoCliente = interface(IPedidosCliente_Detalles)
  ['{2D7781DC-AD16-4857-9567-5C1620319781}']
  end;

  IBizPedidoClienteArticulosPend = interface(IPedidoCliente_Articulos_Pendientes)
    ['{DD245879-DD80-4E96-995A-6D3A09D72544}']
  end;

  TBizDetallesPedidoCliente = class(TPedidosCliente_DetallesDataTableRules, IBizDetallesPedidoCliente)
  private
    ContIdAux: Integer;
  protected
    procedure OnNewRecord(Sender: TDADataTable); override;
  public
    constructor Create(aDataTable: TDADataTable); override;
  end;

  TBizPedidoClienteArticulosPend = class(TPedidoCliente_Articulos_PendientesDataTableRules, IBizPedidoClienteArticulosPend)
  end;


implementation

{ TBizDetallesPedidoCliente }

uses
  uDataTableUtils;


constructor TBizDetallesPedidoCliente.Create(aDataTable: TDADataTable);
begin
  inherited Create(aDataTable);
  ContIdAux := -1;
end;

procedure TBizDetallesPedidoCliente.OnNewRecord(Sender: TDADataTable);
begin
  inherited;
  ID := ContIdAux; // -1, -2, -3...
  Dec(ContIdAux);
end;

initialization
  RegisterDataTableRules(BIZ_CLIENT_DETALLES_PEDIDO_CLIENTE, TBizDetallesPedidoCliente);
  RegisterDataTableRules(BIZ_CLIENT_ARTICULOS_PEND_PEDIDO_CLIENTE, TBizPedidoClienteArticulosPend);

end.
