AbetoDesign_FactuGES2/Source/Modulos/Remesas de cliente/Views/uViewRecibosRemesaCliente.pas
2013-06-03 16:01:08 +00:00

147 lines
4.3 KiB
ObjectPascal

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;
procedure CustomViewShow(Sender: TObject);
protected
FHayCambios : Boolean;
FRemesa : IBizRemesaCliente;
FController : IRemesasClienteController;
FListaRecibosIniciales: TStringList;
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, FListaRecibosIniciales) then
begin
Modified := True;
end;
end;
constructor TfrViewRecibosRemesaCliente.Create(AOwner: TComponent);
begin
inherited;
FHayCambios := False;
FListaRecibosIniciales := TStringList.Create;
end;
procedure TfrViewRecibosRemesaCliente.CustomViewShow(Sender: TObject);
begin
inherited;
FRemesa.Recibos.DataTable.First;
while not FRemesa.Recibos.DataTable.eof do
begin
FListaRecibosIniciales.Add(IntToStr(FRemesa.Recibos.ID));
FRemesa.Recibos.DataTable.next;
end;
FRemesa.Recibos.DataTable.First;
end;
destructor TfrViewRecibosRemesaCliente.Destroy;
begin
FListaRecibosIniciales.Free;
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.