unit uViewDetallesPedidoCliente;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, uViewDetallesArticulos, cxStyles, cxCustomData, cxGraphics, cxFilter,
  cxData, cxDataStorage, cxEdit, DB, cxDBData, ImgList, PngImageList,
  uDADataTable, ActnList, ComCtrls, ToolWin, cxGridLevel, cxClasses, cxControls,
  cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
  cxGrid, cxImageComboBox, cxTextEdit, cxMaskEdit, cxCheckBox, cxCurrencyEdit,
  Grids, DBGrids, StdCtrls, ExtCtrls, cxRichEdit, ExtActns, StdActns,
  JvExStdCtrls, JvCombobox, JvColorCombo, TB2Item, TBX, TB2Dock, TB2Toolbar,
  uControllerDetallesArticulos, uBizPedidosCliente;

type
  IViewDetallesPedidoCliente = interface(IViewDetallesArticulos)
  ['{3AF39FF4-291E-4E87-AF9A-93C240A744CD}']
    function GetPedido: IBizPedidoCliente;
    procedure SetPedido(const Value: IBizPedidoCliente);
    property Pedido: IBizPedidoCliente read GetPedido write SetPedido;
  end;

  TfrViewDetallesPedidoCliente = class(TfrViewDetallesArticulos, IViewDetallesPedidoCliente)
  protected
    FPedido: IBizPedidoCliente;
    function GetPedido: IBizPedidoCliente;
    procedure SetPedido(const Value: IBizPedidoCliente);

    procedure AnadirArticulosInterno; override;
    function AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; override;

  public
    property Pedido: IBizPedidoCliente read GetPedido write SetPedido;
  end;

implementation
{$R *.dfm}

uses uDetallesPedidoClienteController;

{ TfrViewDetallesPedidoProveedor }

function TfrViewDetallesPedidoCliente.AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean;
begin
  Result := (Controller as IDetallesPedidoClienteController).AnadirArticulo(Detalles, pReferencia, TipoReferencia, Pedido.Cliente.ID);
end;

procedure TfrViewDetallesPedidoCliente.AnadirArticulosInterno;
begin
  (Controller as IDetallesPedidoClienteController).AnadirArticulos(Detalles, Pedido.Cliente);
end;

function TfrViewDetallesPedidoCliente.GetPedido: IBizPedidoCliente;
begin
  Result := FPedido; 
end;

procedure TfrViewDetallesPedidoCliente.SetPedido(const Value: IBizPedidoCliente);
begin
  FPedido := Value;
end;

end.
