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

101 lines
3.6 KiB
ObjectPascal
Raw Blame History

unit uViewDocumentosPresupuestoCliente;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewDocumentos, ActnList,
TB2Item, TBX, TB2Dock, TB2Toolbar, cxControls, cxContainer,
uBizPresupuestosCliente, uPresupuestosClienteController, ImgList,
PngImageList, ComCtrls, Menus;
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 DirectorioDestino: String): Boolean; 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 DirectorioDestino: String): Boolean;
begin
inherited;
Result := Controller.GestorDocumentosController.DescargarFichero(Presupuesto.ID, NombreFichero, DirectorioDestino);
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
ListaFicheros := Controller.GestorDocumentosController.DarListaDocumentos(Presupuesto.ID);
RefrescarVisualizador;
end;
procedure TfrViewDocumentosPresupuestoCliente.Sincronizar;
begin
inherited;
//De momento el action actSincronizar con el servidor estar<61> oculto y se activa, hay que tener en cuenta lo comentado
{
if Presupuesto.EsNuevo then
begin
if (ShowConfirmMessage('Se han producido cambios', 'Se han producido cambios y no se puede sincronizar hasta que no se guarden.' + #10#13 +
'<27>Desea guardarlos ahora?') = IDYES) then
actGuardar.Execute
else
ShowInfoMessage('Recuerde guardar los cambios si quiere previsualizar o imprimir.');
end;
}
Controller.GestorDocumentosController.SincronizarDocumentos(Presupuesto.ID, ListaFicheros, Directorio);
end;
end.