AbetoDesign_FactuGES2/Source/Modulos/Articulos/Views/uViewIdiomasArticulo.pas

148 lines
4.5 KiB
ObjectPascal
Raw Normal View History

unit uViewIdiomasArticulo;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, uViewDetallesGenerico, cxStyles, cxCustomData, cxGraphics,
cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ActnList, ImgList,
PngImageList, uDADataTable, ComCtrls, ToolWin, cxGridLevel,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
cxControls, cxGridCustomView, cxGrid, cxDBLookupComboBox, cxSpinEdit,
uBizContactos, uProveedoresController, uDAInterfaces,
uBizArticulos, uArticulosController, uBizIdiomas, uIdiomasController,
cxTextEdit, cxCurrencyEdit;
type
IViewIdiomasArticulo = interface(IViewBase)
['{D6182295-EE09-4951-810D-50A054E9319F}']
function GetArticulo: IBizArticulo;
procedure SetArticulo(const Value: IBizArticulo);
property Articulo: IBizArticulo read GetArticulo write SetArticulo;
function GetController : IArticulosController;
procedure SetController (const Value : IArticulosController);
property Controller : IArticulosController read GetController write SetController;
end;
TfrViewIdiomasArticulo = class(TfrViewDetallesGenerico, IViewIdiomasArticulo)
dsIdiomas: TDADataSource;
cxGridViewDESCRIPCION: TcxGridDBColumn;
cxGridViewID_IDIOMA: TcxGridDBColumn;
cxGridViewID_ARTICULO: TcxGridDBColumn;
procedure cxGridViewPROVEEDORPropertiesEditValueChanged(Sender: TObject);
procedure CustomViewShow(Sender: TObject);
procedure actAnadirUpdate(Sender: TObject);
protected
FArticulo: IBizArticulo;
FController: IArticulosController;
FIdiomasController : IIdiomasController;
FIdiomas : IBizIdioma;
function GetArticulo: IBizArticulo;
procedure SetArticulo(const Value: IBizArticulo);
function GetController : IArticulosController;
procedure SetController (const Value : IArticulosController);
procedure AnadirInterno; override;
public
property Articulo: IBizArticulo read GetArticulo write SetArticulo;
property Controller : IArticulosController read GetController write SetController;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
implementation
{$R *.dfm}
uses schArticulosClient_Intf;
procedure TfrViewIdiomasArticulo.actAnadirUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := (dsDetalles.DataTable.RecordCount = 0);
end;
procedure TfrViewIdiomasArticulo.AnadirInterno;
begin
dsDetalles.DataTable.Append;
dsDetalles.DataTable.FieldByName(fld_Articulos_IdiomasID_IDIOMA).AsInteger := CTE_ID_IDIOMA_DEFAULT;
end;
constructor TfrViewIdiomasArticulo.Create(AOwner: TComponent);
begin
inherited;
FIdiomasController := TIdiomasController.Create;
FIdiomas := Nil;
{ FProvController := TProveedoresController.Create;
FProveedores := (FProvController.BuscarTodos as IBizProveedor);
dsProveedores.DataTable := FProveedores.DataTable;
if not dsProveedores.DataTable.Active then
dsProveedores.DataTable.Active := True;}
end;
procedure TfrViewIdiomasArticulo.CustomViewShow(Sender: TObject);
begin
inherited;
FIdiomas := FIdiomasController.BuscarTodosMenosDefault;
if Assigned(FIdiomas) then
FIdiomas.DataTable.Active := True;
dsIdiomas.DataTable := FIdiomas.DataTable;
end;
procedure TfrViewIdiomasArticulo.cxGridViewPROVEEDORPropertiesEditValueChanged(Sender: TObject);
begin
inherited;
{
//Signamos el descuento del proveedor seleccionado
if not Articulo.Proveedores.DataTable.Editing then
Articulo.Proveedores.DataTable.Edit;
Articulo.Proveedores.DESCUENTO := FProveedores.DESCUENTO;
}
end;
destructor TfrViewIdiomasArticulo.Destroy;
begin
FIdiomasController := Nil;
FIdiomas := Nil;
inherited;
{
if dsProveedores.DataTable.Active then
dsProveedores.DataTable.Active := False;
FProveedores := NIL;
FProvController := NIL;
inherited;
}
end;
function TfrViewIdiomasArticulo.GetArticulo: IBizArticulo;
begin
Result := FArticulo;
end;
function TfrViewIdiomasArticulo.GetController: IArticulosController;
begin
Result := FController;
end;
procedure TfrViewIdiomasArticulo.SetArticulo(const Value: IBizArticulo);
begin
FArticulo := Value;
dsDetalles.DataTable := FArticulo.Idiomas.DataTable;
end;
procedure TfrViewIdiomasArticulo.SetController(const Value: IArticulosController);
begin
FController := Value;
FIdiomas := FIdiomasController.BuscarTodos;
end;
end.