FactuGES2/Source/Modulos/Pedidos a proveedor/Views/uViewDocumentosPedidoProveedor.pas
2014-12-12 14:40:38 +00:00

101 lines
3.4 KiB
ObjectPascal
Raw Blame History

unit uViewDocumentosPedidoProveedor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewDocumentos, ActnList,
TB2Item, TBX, TB2Dock, TB2Toolbar, cxControls, cxContainer,
uBizPedidosProveedor, uPedidosProveedorController, ImgList,
PngImageList, ComCtrls, Menus;
type
IViewDocumentosPedidoProveedor = interface
['{83AFBD29-750D-4564-ADAE-468BDBE4C424}']
function GetController : IPedidosProveedorController;
procedure SetController (const Value : IPedidosProveedorController);
property Controller : IPedidosProveedorController read GetController write SetController;
function GetPedido: IBizPedidoProveedor;
procedure SetPedido(const Value: IBizPedidoProveedor);
property Pedido: IBizPedidoProveedor read GetPedido write SetPedido;
end;
TfrViewDocumentosPedidoProveedor = class(TfrViewDocumentos, IViewDocumentosPedidoProveedor)
private
FController : IPedidosProveedorController;
FPedido: IBizPedidoProveedor;
function GetController : IPedidosProveedorController;
procedure SetController (const Value : IPedidosProveedorController);
function GetPedido: IBizPedidoProveedor;
procedure SetPedido(const Value: IBizPedidoProveedor);
protected
procedure Sincronizar; override;
function RecuperarFicheroServidor(const NombreFichero: String; const DirectorioDestino: String): Boolean; override;
public
property Controller : IPedidosProveedorController read GetController write SetController;
property Pedido: IBizPedidoProveedor read GetPedido write SetPedido;
end;
var
frViewDocumentosPedidoProveedor: TfrViewDocumentosPedidoProveedor;
implementation
{$R *.dfm}
{ TfrViewDocumentosContrato }
function TfrViewDocumentosPedidoProveedor.GetController: IPedidosProveedorController;
begin
Result := FController;
end;
function TfrViewDocumentosPedidoProveedor.GetPedido: IBizPedidoProveedor;
begin
Result := FPedido;
end;
function TfrViewDocumentosPedidoProveedor.RecuperarFicheroServidor(const NombreFichero: String; const DirectorioDestino: String): Boolean;
begin
inherited;
Result := Controller.GestorDocumentosController.DescargarFichero(Pedido.ID, NombreFichero, DirectorioDestino);
end;
procedure TfrViewDocumentosPedidoProveedor.SetController(const Value: IPedidosProveedorController);
begin
FController := Value;
end;
procedure TfrViewDocumentosPedidoProveedor.SetPedido(const Value: IBizPedidoProveedor);
begin
FPedido := Value;
//Inicializamos la lista de documentos local con los ficheros del servidor
if Assigned(FPedido) and Assigned(FController) then
ListaFicheros := Controller.GestorDocumentosController.DarListaDocumentos(Pedido.ID);
RefrescarVisualizador;
end;
procedure TfrViewDocumentosPedidoProveedor.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;
}
Controller.GestorDocumentosController.SincronizarDocumentos(Pedido.ID, ListaFicheros, Directorio);
end;
end.