This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
LuisLeon_FactuGES2/Source/Modulos/Pedidos de cliente/Views/uViewDetallesPedidoCliente.pas
2010-08-17 16:02:42 +00:00

89 lines
3.3 KiB
ObjectPascal

unit uViewDetallesPedidoCliente;
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, uBizPedidosCliente, uDAInterfaces,
cxButtonEdit, cxDropDownEdit, Menus, cxGridCustomPopupMenu, cxGridPopupMenu,
cxEditRepositoryItems;
type
IViewDetallesPedidoCliente = interface(IViewDetallesArticulos)
['{0DDE8FC8-100E-4429-9A8B-49D6B24BB396}']
function GetPedido: IBizPedidoCliente;
procedure SetPedido(const Value: IBizPedidoCliente);
property Pedido: IBizPedidoCliente read GetPedido write SetPedido;
end;
TfrViewDetallesPedidoCliente = class(TfrViewDetallesArticulos, IViewDetallesPedidoCliente)
TBXItem18: TTBXItem;
Artculosdelcatlogo1: TMenuItem;
N2: TMenuItem;
procedure CustomViewDestroy(Sender: TObject);
protected
FPedido: IBizPedidoCliente;
function GetPedido: IBizPedidoCliente;
procedure SetPedido(const Value: IBizPedidoCliente);
procedure AnadirArticulosInterno; override;
procedure RellenarArticulosInterno; override;
function AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; override;
public
property Pedido: IBizPedidoCliente read GetPedido write SetPedido;
end;
implementation
{$R *.dfm}
uses uDetallesPedidoClienteController;
{ TfrViewDetallesPedidoCliente }
procedure TfrViewDetallesPedidoCliente.AnadirArticulosInterno;
begin
//No sé porque está en este módulo hecho así, supongo que por seguridad.
if Assigned(Pedido) and Assigned(Pedido.Cliente)
then (Controller as IDetallesPedidoClienteController).AnadirArticulos(Detalles, Pedido.Cliente)
else (Controller as IDetallesPedidoClienteController).AnadirArticulos(Detalles);
end;
procedure TfrViewDetallesPedidoCliente.CustomViewDestroy(Sender: TObject);
begin
FPedido := Nil;
inherited;
end;
function TfrViewDetallesPedidoCliente.AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean;
begin
Result := (Controller as IDetallesPedidoClienteController).AnadirArticulo(Detalles, pReferencia, TipoReferencia);
end;
function TfrViewDetallesPedidoCliente.GetPedido: IBizPedidoCliente;
begin
Result := FPedido;
end;
procedure TfrViewDetallesPedidoCliente.RellenarArticulosInterno;
begin
//No sé porque está en este módulo hecho así, supongo que por seguridad.
if Assigned(Pedido) and Assigned(Pedido.Cliente)
then (Controller as IDetallesPedidoClienteController).AnadirArticulos(Detalles, Pedido.Cliente, False)
else (Controller as IDetallesPedidoClienteController).AnadirArticulos(Detalles, False);
end;
procedure TfrViewDetallesPedidoCliente.SetPedido(const Value: IBizPedidoCliente);
begin
FPedido := Value;
end;
end.