AlonsoYSal_FactuGES2/Source/Modulos/Comisiones/Views/uViewVendedoresComision.pas
2019-11-18 10:36:42 +00:00

184 lines
5.2 KiB
ObjectPascal

unit uViewVendedoresComision;
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, uDataModuleComisiones,
uBizComisiones, uComisionesController, Grids, DBGrids, cxSpinEdit,
dxLayoutControl, uDAInterfaces, StdCtrls;
type
IViewVendedoresComision = interface
['{06705772-409C-4094-ABB3-F13E10D5B743}']
function GetComision: IBizComisiones;
procedure SetComision(const Value: IBizComisiones);
property Comision: IBizComisiones read GetComision write SetComision;
function GetController : IComisionesController;
procedure SetController (const Value : IComisionesController);
property Controller : IComisionesController read GetController write SetController;
end;
TfrViewVendedoresComision = class(TfrViewDetallesGenerico, IViewVendedoresComision)
cxGridViewRecID: TcxGridDBColumn;
cxGridViewID_COMISION: TcxGridDBColumn;
cxGridViewID_VENDEDOR: TcxGridDBColumn;
cxGridViewNOMBRE: TcxGridDBColumn;
cxGridViewCOMISION: TcxGridDBColumn;
cxGridViewIMPORTE_TOTAL: TcxGridDBColumn;
actExpandir: TAction;
actContraer: TAction;
ToolButton3: TToolButton;
ToolButton8: TToolButton;
procedure actExpandirExecute(Sender: TObject);
procedure actContraerExecute(Sender: TObject);
procedure CustomViewShow(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject);
procedure actExpandirUpdate(Sender: TObject);
procedure actContraerUpdate(Sender: TObject);
procedure Button1Click(Sender: TObject);
protected
FHayCambios : Boolean;
FComision : IBizComisiones;
FController : IComisionesController;
procedure AnadirInterno; override;
procedure EliminarInterno; override;
function GetComision: IBizComisiones;
procedure SetComision(const Value: IBizComisiones);
function GetModified: Boolean; override;
procedure SetModified(const Value: Boolean); override;
function GetController : IComisionesController;
procedure SetController (const Value : IComisionesController);
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property Comision: IBizComisiones read GetComision write SetComision;
property Controller : IComisionesController read GetController write SetController;
end;
implementation
{$R *.dfm}
uses
uCustomView;
{ TfrViewVendedoresComision }
procedure TfrViewVendedoresComision.actContraerExecute(Sender: TObject);
begin
inherited;
cxGridView.ViewData.Collapse(True);
end;
procedure TfrViewVendedoresComision.actContraerUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := HayDatos;
end;
procedure TfrViewVendedoresComision.actEliminarUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := ((cxGridView.Controller.SelectedRowCount > 0)
and (cxGridView.Controller.SelectedRows[0].HasCells));
end;
procedure TfrViewVendedoresComision.actExpandirExecute(Sender: TObject);
begin
inherited;
cxGridView.ViewData.Expand(True);
end;
procedure TfrViewVendedoresComision.actExpandirUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := HayDatos;
end;
procedure TfrViewVendedoresComision.AnadirInterno;
begin
//inherited; // No hacer el comportamiento normal
if FController.ElegirVendedoresComision(Comision) then
Modified := True;
end;
procedure TfrViewVendedoresComision.Button1Click(Sender: TObject);
begin
inherited;
dsDetalles.DataTable.Active := true;
end;
constructor TfrViewVendedoresComision.Create(AOwner: TComponent);
begin
inherited;
FHayCambios := False;
end;
procedure TfrViewVendedoresComision.CustomViewShow(Sender: TObject);
begin
inherited;
cxGridView.OptionsSelection.MultiSelect := False;
end;
destructor TfrViewVendedoresComision.Destroy;
begin
inherited;
end;
procedure TfrViewVendedoresComision.EliminarInterno;
begin
inherited;
end;
function TfrViewVendedoresComision.GetController: IComisionesController;
begin
Result := FController;
end;
function TfrViewVendedoresComision.GetModified: Boolean;
begin
Result := FHayCambios or inherited GetModified;
end;
function TfrViewVendedoresComision.GetComision: IBizComisiones;
begin
Result := FComision;
end;
procedure TfrViewVendedoresComision.SetController(const Value: IComisionesController);
begin
FController := Value;
end;
procedure TfrViewVendedoresComision.SetModified(const Value: Boolean);
begin
FHayCambios := Value;
inherited;
end;
procedure TfrViewVendedoresComision.SetComision(const Value: IBizComisiones);
begin
FComision := Value;
FHayCambios := False;
if Assigned(FComision) then
dsDetalles.DataTable := FComision.Vendedores.DataTable
else
dsDetalles.DataTable := NIL;
actAnchoAutomatico.Execute;
end;
end.