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/Views/uViewArticulo.pas
2007-06-11 15:35:41 +00:00

205 lines
5.6 KiB
ObjectPascal

unit uViewArticulo;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, ExtCtrls, StdCtrls, Buttons, DB, uDADataTable,
DBCtrls, Grids, DBGrids, uBizArticulos, Mask, ComCtrls, uCustomView,
JvComponent, JvFormAutoSize, cxControls, cxContainer, cxEdit, cxTextEdit,
cxDBEdit, dxLayoutControl, cxCheckBox, PngSpeedButton, cxImage, ActnList,
ImgList, PngImageList, cxGraphics, cxMaskEdit, cxDropDownEdit,
uFamiliasController;
type
IViewArticulo = interface(IViewBase)
['{65206152-786D-47AE-A037-5EF480BC056C}']
function GetArticulo: IBizArticulo;
procedure SetArticulo(const Value: IBizArticulo);
property Articulo: IBizArticulo read GetArticulo write SetArticulo;
end;
TfrViewArticulo = class(TfrViewBase, IViewArticulo)
dsViewArticulo: TDADataSource;
dxLayoutControlArticuloGroup_Root: TdxLayoutGroup;
dxLayoutControlArticulo: TdxLayoutControl;
dxLayoutControlArticuloGroup1: TdxLayoutGroup;
dxLayoutControlArticuloItem3: TdxLayoutItem;
eReferencia: TcxDBTextEdit;
dxLayoutControlArticuloItem8: TdxLayoutItem;
eDescripcion: TcxDBTextEdit;
dxLayoutControlArticuloGroup2: TdxLayoutGroup;
dxLayoutControlArticuloItem1: TdxLayoutItem;
eNoComisionable: TcxDBCheckBox;
dxLayoutControlArticuloGroup4: TdxLayoutGroup;
OpenDialog1: TOpenDialog;
SmallImages: TPngImageList;
ActionList1: TActionList;
actAnadir: TAction;
actEliminar: TAction;
dxLayoutControlArticuloItem2: TdxLayoutItem;
PngSpeedButton2: TPngSpeedButton;
dxLayoutControlArticuloItem5: TdxLayoutItem;
PngSpeedButton1: TPngSpeedButton;
dxLayoutControlArticuloGroup3: TdxLayoutGroup;
dxLayoutControlArticuloGroup7: TdxLayoutGroup;
eImagen: TcxImage;
dxLayoutControlArticuloItem6: TdxLayoutItem;
dxLayoutControlArticuloGroup5: TdxLayoutGroup;
dxLayoutControlArticuloItem4: TdxLayoutItem;
cbFamilia: TcxDBComboBox;
dxLayoutControlArticuloGroup6: TdxLayoutGroup;
procedure actEliminarExecute(Sender: TObject);
procedure actAnadirExecute(Sender: TObject);
procedure cbFamiliaPropertiesInitPopup(Sender: TObject);
procedure CustomViewCreate(Sender: TObject);
procedure CustomViewDestroy(Sender: TObject);
procedure cbFamiliaPropertiesValidate(Sender: TObject;
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
private
procedure CargarImagen;
procedure SalvarImagen;
protected
FFamiliasController: IFamiliasController;
FArticulo: IBizArticulo;
function GetArticulo: IBizArticulo;
procedure SetArticulo(const Value: IBizArticulo); virtual;
public
property Articulo: IBizArticulo read GetArticulo write SetArticulo;
end;
implementation
uses uDataModuleArticulos, uSistemaFunc, uBizFamilias;
{$R *.dfm}
{ TfrViewArticulos }
{
******************************* TfrViewArticulos ********************************
}
procedure TfrViewArticulo.actAnadirExecute(Sender: TObject);
begin
{ eImagen.LoadFromFile;
SalvarImagen;}
end;
procedure TfrViewArticulo.actEliminarExecute(Sender: TObject);
begin
inherited;
{ eImagen.Clear;
FArticulo.QuitarImagen;}
end;
procedure TfrViewArticulo.CargarImagen;
var
aAux : String;
begin
if FArticulo.HayImagen then
begin
aAux := DarFicheroJPGTemporal;
try
FArticulo.SalvarImagen(aAux);
try
eImagen.Picture.LoadFromFile(aAux);
except
//
end;
finally
DeleteFile(aAux);
end;
end;
end;
procedure TfrViewArticulo.cbFamiliaPropertiesInitPopup(Sender: TObject);
begin
inherited;
with cbFamilia.Properties.Items do
begin
BeginUpdate;
try
Clear;
AddStrings(FFamiliasController.DarListaFamilias);
finally
EndUpdate;
end;
end;
end;
procedure TfrViewArticulo.cbFamiliaPropertiesValidate(Sender: TObject;
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
var
AFamilias : IBizFamilia;
begin
inherited;
with (Sender as TcxDBComboBox) do
begin
if (Length(DisplayValue) > 0) and (DisplayValue <> FArticulo.FAMILIA) then
if Properties.LookupItems.IndexOf(DisplayValue) < 0 then
begin
Properties.LookupItems.BeginUpdate;
AFamilias := FFamiliasController.BuscarTodos;
AFamilias.DataTable.Active := True;
try
FFamiliasController.Anadir(AFamilias);
AFamilias.DESCRIPCION := DisplayValue;
FFamiliasController.Guardar(AFamilias);
Properties.LookupItems.Add(DisplayValue);
finally
Properties.LookupItems.EndUpdate;
AFamilias := NIL;
end;
end;
end;
end;
procedure TfrViewArticulo.CustomViewCreate(Sender: TObject);
begin
inherited;
FFamiliasController := TFamiliasController.Create;
end;
procedure TfrViewArticulo.CustomViewDestroy(Sender: TObject);
begin
FFamiliasController := Nil;
inherited;
end;
function TfrViewArticulo.GetArticulo: IBizArticulo;
begin
Result := FArticulo;
end;
procedure TfrViewArticulo.SalvarImagen;
var
aAux : String;
begin
aAux := DarFicheroJPGTemporal;
eImagen.Picture.SaveToFile(aAux);
try
FArticulo.CargarImagen(aAux);
finally
DeleteFile(aAux);
end;
end;
procedure TfrViewArticulo.SetArticulo(const Value: IBizArticulo);
begin
FArticulo := Value;
if Assigned(FArticulo) then
begin
dsViewArticulo.DataTable := FArticulo.DataTable;
// CargarImagen;
end
else begin
dsViewArticulo.DataTable := NIL;
// eImagen.Clear;
end;
end;
end.