git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES/tags/1.2.0@6 c93665c3-c93d-084d-9b98-7d5f4a9c3376
134 lines
3.3 KiB
ObjectPascal
134 lines
3.3 KiB
ObjectPascal
unit uBizArticulos;
|
|
|
|
interface
|
|
|
|
uses
|
|
uDAInterfaces, uDADataTable, schArticulosClient_Intf, uDBSelectionListUtils;
|
|
|
|
const
|
|
BIZ_CLIENT_ARTICULO = 'Client.Articulo';
|
|
|
|
type
|
|
IBizArticulo = interface(IArticulos)
|
|
['{06AB61B1-C225-4791-9F5E-00A60DBA7FFD}']
|
|
function EsNuevo : Boolean;
|
|
function GetSelectedRecords: ISelectedRecords;
|
|
property SelectedRecords : ISelectedRecords read GetSelectedRecords;
|
|
function HayImagen: Boolean;
|
|
procedure SalvarImagen(const AFileName: String);
|
|
procedure CargarImagen(const AFileName: String);
|
|
procedure QuitarImagen;
|
|
end;
|
|
|
|
TBizArticulo = class(TArticulosDataTableRules, IBizArticulo, ISelectedRecords)
|
|
protected
|
|
FSelectedRecords : TSelectedRecords;
|
|
function GetSelected: Boolean; virtual;
|
|
procedure SetSelected(const Value: Boolean); virtual;
|
|
|
|
procedure OnNewRecord(Sender: TDADataTable); override;
|
|
public
|
|
function HayImagen: Boolean;
|
|
procedure SalvarImagen(const AFileName: String);
|
|
procedure CargarIMagen(const AFileName: String);
|
|
procedure QuitarImagen;
|
|
function EsNuevo : Boolean;
|
|
function GetSelectedRecords: ISelectedRecords;
|
|
constructor Create(aDataTable: TDADataTable); override;
|
|
destructor Destroy; override;
|
|
property SelectedRecords : ISelectedRecords read GetSelectedRecords implements ISelectedRecords;
|
|
property Selected : Boolean read GetSelected write SetSelected;
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses
|
|
uDataTableUtils, uDataModuleUsuarios, SysUtils, uROClasses, Classes;
|
|
|
|
{ TBizArticulo }
|
|
|
|
procedure TBizArticulo.CargarImagen(const AFileName: String);
|
|
var
|
|
StdStream: TMemoryStream;
|
|
StreamRO: IROStream;
|
|
begin
|
|
{ inherited;
|
|
|
|
StdStream := TMemoryStream.Create;
|
|
try
|
|
StdStream.LoadFromFile(AFileName);
|
|
StreamRO := NewROStream(StdStream,False);
|
|
DataTable.Edit;
|
|
DataTable.FieldByName(fld_ArticulosIMAGEN).LoadFromStream(StreamRO);
|
|
DataTable.Post;
|
|
finally
|
|
StdStream.Free;
|
|
end;}
|
|
end;
|
|
|
|
constructor TBizArticulo.Create(aDataTable: TDADataTable);
|
|
begin
|
|
inherited;
|
|
FSelectedRecords := TSelectedRecords.Create(aDataTable);
|
|
end;
|
|
|
|
destructor TBizArticulo.Destroy;
|
|
begin
|
|
FreeAndNIL(FSelectedRecords);
|
|
inherited;
|
|
end;
|
|
|
|
function TBizArticulo.EsNuevo: Boolean;
|
|
begin
|
|
Result := (ID < 0);
|
|
end;
|
|
|
|
function TBizArticulo.GetSelected: Boolean;
|
|
begin
|
|
Result := FSelectedRecords.CurrentRowSelected;
|
|
end;
|
|
|
|
function TBizArticulo.GetSelectedRecords: ISelectedRecords;
|
|
begin
|
|
Result := FSelectedRecords;
|
|
end;
|
|
|
|
function TBizArticulo.HayImagen: Boolean;
|
|
begin
|
|
// Result := DataTable.FieldByName(fld_ArticulosIMAGEN).IsNull
|
|
end;
|
|
|
|
procedure TBizArticulo.OnNewRecord(Sender: TDADataTable);
|
|
begin
|
|
inherited;
|
|
ID := GetRecNo; // -1, -2, -3...
|
|
ID_EMPRESA := dmUsuarios.IDEmpresaActual;
|
|
USUARIO := dmUsuarios.LoginInfo.Usuario;
|
|
|
|
end;
|
|
|
|
procedure TBizArticulo.QuitarImagen;
|
|
begin
|
|
{ DataTable.Edit;
|
|
DataTable.FieldByName(fld_ArticulosIMAGEN).Clear;
|
|
DataTable.Post;}
|
|
end;
|
|
|
|
procedure TBizArticulo.SalvarImagen(const AFileName: String);
|
|
begin
|
|
// DataTable.FieldByName(fld_ArticulosIMAGEN).SaveToFile(AFileName);
|
|
end;
|
|
|
|
procedure TBizArticulo.SetSelected(const Value: Boolean);
|
|
begin
|
|
FSelectedRecords.CurrentRowSelected := True;
|
|
end;
|
|
|
|
initialization
|
|
RegisterDataTableRules(BIZ_CLIENT_ARTICULO, TBizArticulo);
|
|
|
|
finalization
|
|
|
|
end.
|
|
|