Tecsitel_FactuGES2/Source/Modulos/Pedidos a proveedor/Views/uViewDetallesPedidoProveedor.pas

85 lines
3.2 KiB
ObjectPascal

unit uViewDetallesPedidoProveedor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewDetallesArticulos, cxStyles, cxCustomData, cxGraphics, cxFilter,
cxData, cxDataStorage, cxEdit, DB, cxDBData, ImgList, PngImageList,
uDADataTable, ActnList, ComCtrls, ToolWin, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxGrid, cxImageComboBox, cxTextEdit, cxMaskEdit, cxCheckBox, cxCurrencyEdit,
Grids, DBGrids, StdCtrls, ExtCtrls, cxRichEdit, ExtActns, StdActns,
JvExStdCtrls, JvCombobox, JvColorCombo, TB2Item, TBX, TB2Dock, TB2Toolbar,
uControllerDetallesArticulos, uBizPedidosProveedor, uDAInterfaces,
cxButtonEdit, cxDropDownEdit;
type
IViewDetallesPedidoProveedor = interface(IViewDetallesArticulos)
['{4C82AADF-7FE2-47BC-88F1-2F2DA6DF0B57}']
function GetPedido: IBizPedidoProveedor;
procedure SetPedido(const Value: IBizPedidoProveedor);
property Pedido: IBizPedidoProveedor read GetPedido write SetPedido;
end;
TfrViewDetallesPedidoProveedor = class(TfrViewDetallesArticulos, IViewDetallesPedidoProveedor)
procedure CustomViewDestroy(Sender: TObject);
protected
FPedido: IBizPedidoProveedor;
function GetPedido: IBizPedidoProveedor;
procedure SetPedido(const Value: IBizPedidoProveedor);
procedure AnadirArticulosInterno; override;
procedure RellenarArticulosInterno; override;
function AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; override;
public
property Pedido: IBizPedidoProveedor read GetPedido write SetPedido;
end;
implementation
{$R *.dfm}
uses uDetallesPedidoProveedorController;
{ TfrViewDetallesPedidoProveedor }
procedure TfrViewDetallesPedidoProveedor.AnadirArticulosInterno;
begin
//No sé porque está en este módulo hecho así, supongo que por seguridad.
if Assigned(Pedido) and Assigned(Pedido.Proveedor)
then (Controller as IDetallesPedidoProveedorController).AnadirArticulos(Detalles, Pedido.Proveedor)
else (Controller as IDetallesPedidoProveedorController).AnadirArticulos(Detalles);
end;
procedure TfrViewDetallesPedidoProveedor.CustomViewDestroy(Sender: TObject);
begin
FPedido := Nil;
inherited;
end;
function TfrViewDetallesPedidoProveedor.AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean;
begin
Result := (Controller as IDetallesPedidoProveedorController).AnadirArticulo(Detalles, pReferencia, TipoReferencia);
end;
function TfrViewDetallesPedidoProveedor.GetPedido: IBizPedidoProveedor;
begin
Result := FPedido;
end;
procedure TfrViewDetallesPedidoProveedor.RellenarArticulosInterno;
begin
//No sé porque está en este módulo hecho así, supongo que por seguridad.
if Assigned(Pedido) and Assigned(Pedido.Proveedor)
then (Controller as IDetallesPedidoProveedorController).AnadirArticulos(Detalles, Pedido.Proveedor, False)
else (Controller as IDetallesPedidoProveedorController).AnadirArticulos(Detalles, False);
end;
procedure TfrViewDetallesPedidoProveedor.SetPedido(const Value: IBizPedidoProveedor);
begin
FPedido := Value;
end;
end.