unit uViewContratosFacturaProveedor;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, uViewDetallesGenerico, cxStyles, cxCustomData, cxGraphics, cxFilter,
  cxData, cxDataStorage, cxEdit, DB, cxDBData, ActnList, ImgList, PngImageList,
  uDAInterfaces, uDADataTable, ComCtrls, ToolWin, cxGridLevel,
  cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
  cxControls, cxGridCustomView, cxGrid, uBizDetallesFacturaProveedor, uContratosFacturaProveedorController,
  cxTextEdit, cxCurrencyEdit;

type
  TfrViewContratosFacturaProveedor = class(TfrViewDetallesGenerico)
    cxGridViewID_FACTURA: TcxGridDBColumn;
    cxGridViewID_CONTRATO: TcxGridDBColumn;
    cxGridViewNIF_CIF: TcxGridDBColumn;
    cxGridViewNOMBRE: TcxGridDBColumn;
    cxGridViewIMPORTE: TcxGridDBColumn;
    cxGridViewREFERENCIA: TcxGridDBColumn;
    procedure CustomViewCreate(Sender: TObject);
    procedure CustomViewDestroy(Sender: TObject);
    procedure actAnadirExecute(Sender: TObject);

  protected
    FContratos: IBizContratosFacturaProveedor;
    FController : IContratosFacturaProveedorController;
    function GetContratos: IBizContratosFacturaProveedor;
    procedure SetContratos(const Value: IBizContratosFacturaProveedor);

    function GetController : IContratosFacturaProveedorController;
    procedure SetController (const Value : IContratosFacturaProveedorController);

  public
    property Contratos: IBizContratosFacturaProveedor read GetContratos write SetContratos;
    property Controller : IContratosFacturaProveedorController read GetController write SetController;
  end;

var
  frViewContratosFacturaProveedor: TfrViewContratosFacturaProveedor;

implementation
{$R *.dfm}

{ TfrViewContratosFacturaProveedor }

procedure TfrViewContratosFacturaProveedor.actAnadirExecute(Sender: TObject);
begin
  Controller.AnadirContratos(Contratos);
end;

procedure TfrViewContratosFacturaProveedor.CustomViewCreate(Sender: TObject);
begin
  inherited;
  FContratos := Nil;
end;

procedure TfrViewContratosFacturaProveedor.CustomViewDestroy(Sender: TObject);
begin
  FContratos := Nil;
  inherited;
end;

function TfrViewContratosFacturaProveedor.GetContratos: IBizContratosFacturaProveedor;
begin
  Result := FContratos;
end;

function TfrViewContratosFacturaProveedor.GetController: IContratosFacturaProveedorController;
begin
  Result := FController;
end;

procedure TfrViewContratosFacturaProveedor.SetContratos(const Value: IBizContratosFacturaProveedor);
begin
  FContratos := Value;
  dsDetalles.DataTable := FContratos.DataTable;
end;

procedure TfrViewContratosFacturaProveedor.SetController(const Value: IContratosFacturaProveedorController);
begin
  FController := Value;
end;

end.
