Tecsitel_FactuGES2/Source/Modulos/Presupuestos de cliente/Views/uViewDocumentosPresupuestoCliente.pas

104 lines
3.8 KiB
ObjectPascal

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.