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

105 lines
4.0 KiB
ObjectPascal
Raw Blame History

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 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
FListaFicheros := 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, FListaFicheros, Directorio);
end;
end.