AlonsoYSal_FactuGES2/Source/Modulos/Contratos de cliente/Views/uViewDocumentosContratoCliente.pas
2019-11-18 10:36:42 +00:00

114 lines
3.7 KiB
ObjectPascal
Raw Blame History

unit uViewDocumentosContratoCliente;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewDocumentos, ActnList,
TB2Item, TBX, TB2Dock, TB2Toolbar, cxControls, cxContainer,
uBizContratosCliente, uContratosClienteController, ImgList,
PngImageList, ComCtrls, Menus;
type
IViewDocumentosContratoCliente = interface
['{564599A5-ECEB-4A1F-8791-22B37282A11C}']
function GetController : IContratosClienteController;
procedure SetController (const Value : IContratosClienteController);
property Controller : IContratosClienteController read GetController write SetController;
function GetContrato: IBizContratoCliente;
procedure SetContrato(const Value: IBizContratoCliente);
property Contrato: IBizContratoCliente read GetContrato write SetContrato;
end;
TfrViewDocumentosContratoCliente = class(TfrViewDocumentos, IViewDocumentosContratoCliente)
private
FController : IContratosClienteController;
FContrato: IBizContratoCliente;
function GetController : IContratosClienteController;
procedure SetController (const Value : IContratosClienteController);
function GetContrato: IBizContratoCliente;
procedure SetContrato(const Value: IBizContratoCliente);
protected
procedure Sincronizar; override;
function RecuperarFicheroServidor(const NombreFichero: String; const DirectorioDestino: String): Boolean; override;
public
property Controller : IContratosClienteController read GetController write SetController;
property Contrato: IBizContratoCliente read GetContrato write SetContrato;
end;
var
frViewDocumentosContratoCliente: TfrViewDocumentosContratoCliente;
implementation
{$R *.dfm}
{ TfrViewDocumentosContrato }
function TfrViewDocumentosContratoCliente.GetController: IContratosClienteController;
begin
Result := FController;
end;
function TfrViewDocumentosContratoCliente.GetContrato: IBizContratoCliente;
begin
Result := FContrato;
end;
function TfrViewDocumentosContratoCliente.RecuperarFicheroServidor(const NombreFichero: String; const DirectorioDestino: String): Boolean;
begin
inherited;
Result := Controller.GestorDocumentosController.DescargarFichero(Contrato.ID, NombreFichero, DirectorioDestino);
end;
procedure TfrViewDocumentosContratoCliente.SetController(const Value: IContratosClienteController);
begin
FController := Value;
end;
procedure TfrViewDocumentosContratoCliente.SetContrato(const Value: IBizContratoCliente);
begin
FContrato := Value;
try
ShowHourglassCursor;
//Inicializamos la lista de documentos local con los ficheros del servidor
if Assigned(FContrato) and Assigned(FController) then
ListaFicheros := Controller.GestorDocumentosController.DarListaDocumentos(Contrato.ID);
RefrescarVisualizador;
finally
HideHourglassCursor;
end;
end;
procedure TfrViewDocumentosContratoCliente.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 Contrato.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;
}
if Assigned(Contrato) then
begin
try
ShowHourglassCursor;
Controller.GestorDocumentosController.SincronizarDocumentos(Contrato.ID, ListaFicheros, Directorio);
finally
HideHourglassCursor;
end;
end;
end;
end.