114 lines
3.7 KiB
ObjectPascal
114 lines
3.7 KiB
ObjectPascal
|
|
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.
|