unit uViewDocumentosPresupuestoCliente; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewDocumentos, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinCaramel, dxSkinCoffee, dxSkinGlassOceans, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinSilver, dxSkinStardust, dxSkinsDefaultPainters, dxSkinValentine, dxSkinXmas2008Blue, ActnList, TB2Item, TBX, TB2Dock, TB2Toolbar, cxControls, cxContainer, cxListBox, uBizPresupuestosCliente, uPresupuestosClienteController; type IViewDocumentosPresupuestoCliente = interface ['{564599A5-ECEB-4A1F-8791-22B37282A11C}'] function GetController : IPresupuestosClienteController; procedure SetController (const Value : IPresupuestosClienteController); property Controller : IPresupuestosClienteController read GetController write SetController; function GetPresupuesto: IBizPresupuestoCliente; procedure SetPresupuesto(const Value: IBizPresupuestoCliente); property Presupuesto: IBizPresupuestoCliente read GetPresupuesto write SetPresupuesto; end; TfrViewDocumentosPresupuestoCliente = class(TfrViewDocumentos, IViewDocumentosPresupuestoCliente) private FController : IPresupuestosClienteController; FPresupuesto: IBizPresupuestoCliente; function GetController : IPresupuestosClienteController; procedure SetController (const Value : IPresupuestosClienteController); function GetPresupuesto: IBizPresupuestoCliente; procedure SetPresupuesto(const Value: IBizPresupuestoCliente); protected procedure Sincronizar; override; function RecuperarFicheroServidor(const NombreFichero: String; const DestinoFichero: String): Boolean; override; procedure Refrescar; override; public property Controller : IPresupuestosClienteController read GetController write SetController; property Presupuesto: IBizPresupuestoCliente read GetPresupuesto write SetPresupuesto; end; var frViewDocumentosPresupuestoCliente: TfrViewDocumentosPresupuestoCliente; implementation {$R *.dfm} { TfrViewDocumentosPresupuesto } function TfrViewDocumentosPresupuestoCliente.GetController: IPresupuestosClienteController; begin Result := FController; end; function TfrViewDocumentosPresupuestoCliente.GetPresupuesto: IBizPresupuestoCliente; begin Result := FPresupuesto; end; function TfrViewDocumentosPresupuestoCliente.RecuperarFicheroServidor(const NombreFichero: String; const DestinoFichero: String): Boolean; begin inherited; Result := Controller.GestorDocumentosController.DescargarFichero(Presupuesto.ID, NombreFichero, DestinoFichero); end; procedure TfrViewDocumentosPresupuestoCliente.Refrescar; var ADocumentos: TStringList; begin inherited; // ADocumentos := Controller.DarListaDocumentos(Presupuesto.ID); // ListaDocumentos.Items.AddStrings(ADocumentos); // FreeAndNil(ADocumentos); end; procedure TfrViewDocumentosPresupuestoCliente.SetController(const Value: IPresupuestosClienteController); begin FController := Value; end; procedure TfrViewDocumentosPresupuestoCliente.SetPresupuesto(const Value: IBizPresupuestoCliente); begin FPresupuesto := Value; //Inicializamos la lista de documentos local con los ficheros del servidor if Assigned(FPresupuesto) and Assigned(FController) then FListaDocumentos := Controller.GestorDocumentosController.DarListaDocumentos(Presupuesto.ID); Refrescar; end; procedure TfrViewDocumentosPresupuestoCliente.Sincronizar; begin inherited; Controller.GestorDocumentosController.SincronizarDocumentos(Presupuesto.ID, FListaDocumentos, Directorio); end; end.