unit uViewRecibosRemesaCliente; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewDetallesGenerico, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ActnList, ImgList, PngImageList, uDADataTable, ComCtrls, ToolWin, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxImageComboBox, cxCurrencyEdit, uBizRemesasCliente, uRemesasClienteController, uDAInterfaces; type IViewRecibosRemesaCliente = interface ['{5342D4B0-4BE0-4123-9515-D8ADC9058243}'] function GetRemesaCliente: IBizRemesaCliente; procedure SetRemesaCliente(const Value: IBizRemesaCliente); property RemesaCliente: IBizRemesaCliente read GetRemesaCliente write SetRemesaCliente; function GetController : IRemesasClienteController; procedure SetController (const Value : IRemesasClienteController); property Controller : IRemesasClienteController read GetController write SetController; end; TfrViewRecibosRemesaCliente = class(TfrViewDetallesGenerico, IViewRecibosRemesaCliente) cxGridViewIMPORTE: TcxGridDBColumn; cxGridViewOTROS_GASTOS: TcxGridDBColumn; cxGridViewIMPORTE_TOTAL: TcxGridDBColumn; protected FHayCambios : Boolean; FRemesa : IBizRemesaCliente; FController : IRemesasClienteController; procedure AnadirInterno; override; procedure EliminarInterno; override; function GetRemesaCliente: IBizRemesaCliente; procedure SetRemesaCliente(const Value: IBizRemesaCliente); function GetModified: Boolean; override; procedure SetModified(const Value: Boolean); override; function GetController : IRemesasClienteController; procedure SetController (const Value : IRemesasClienteController); public constructor Create(AOwner: TComponent); override; destructor Destroy; override; property RemesaCliente: IBizRemesaCliente read GetRemesaCliente write SetRemesaCliente; property Controller : IRemesasClienteController read GetController write SetController; end; implementation {$R *.dfm} uses uBizRecibosCliente, uCustomView; { TfrViewRecibosRemesaCliente } procedure TfrViewRecibosRemesaCliente.AnadirInterno; begin //inherited; // No hacer el comportamiento normal if FController.ElegirRecibosCliente(RemesaCliente) then begin Modified := True; end; end; constructor TfrViewRecibosRemesaCliente.Create(AOwner: TComponent); begin inherited; FHayCambios := False; end; destructor TfrViewRecibosRemesaCliente.Destroy; begin inherited; end; procedure TfrViewRecibosRemesaCliente.EliminarInterno; begin //inherited; // No hacer el comportamiento normal FController.EliminarReciboCliente(RemesaCliente); Modified := True; end; function TfrViewRecibosRemesaCliente.GetController: IRemesasClienteController; begin Result := FController; end; function TfrViewRecibosRemesaCliente.GetModified: Boolean; begin Result := FHayCambios or inherited GetModified; end; function TfrViewRecibosRemesaCliente.GetRemesaCliente: IBizRemesaCliente; begin Result := FRemesa; end; procedure TfrViewRecibosRemesaCliente.SetController( const Value: IRemesasClienteController); begin FController := Value; end; procedure TfrViewRecibosRemesaCliente.SetModified(const Value: Boolean); begin FHayCambios := Value; inherited; end; procedure TfrViewRecibosRemesaCliente.SetRemesaCliente( const Value: IBizRemesaCliente); begin FRemesa := Value; FHayCambios := False; if Assigned(FRemesa) then dsDetalles.DataTable := FRemesa.Recibos.DataTable else dsDetalles.DataTable := NIL; end; end.