This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
LuisLeon_FactuGES/Modulos/Articulos/Model/uBizArticulos.pas
2007-06-11 15:35:41 +00:00

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.