Tecsitel_FactuGES2/Source/Modulos/Almacenes/Views/uViewAlmacen.pas
david f3f230e414 - Actualización a DevExpress x.38 sin el módulo de skins.
- Limpieza de código para NO usar skins de DevExpress.

git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@541 0c75b7a4-871f-7646-8a2f-f78d34cc349f
2008-08-27 16:48:20 +00:00

184 lines
4.9 KiB
ObjectPascal

unit uViewAlmacen;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, ExtCtrls, StdCtrls, Buttons, DB, uDADataTable,
DBCtrls, Grids, DBGrids, uBizAlmacenes, Mask, ComCtrls, uCustomView,
JvComponent, JvFormAutoSize, cxControls, cxContainer, cxEdit, cxTextEdit,
cxDBEdit, dxLayoutControl, uDAInterfaces, cxGraphics, cxMaskEdit, cxDropDownEdit;
type
IViewAlmacen = interface(IViewBase)
['{F44F8AEF-CB9C-44D5-93DA-53D6AB6A2D29}']
function GetAlmacen: IBizAlmacen;
procedure SetAlmacen(const Value: IBizAlmacen);
property Almacen: IBizAlmacen read GetAlmacen write SetAlmacen;
end;
TfrViewAlmacen = class(TfrViewBase, IViewAlmacen)
DADataSource: TDADataSource;
ePersonaContacto: TcxDBTextEdit;
eTlfTelefono: TcxDBTextEdit;
eTlfMovil: TcxDBTextEdit;
eFax: TcxDBTextEdit;
dxLayoutControlAlmacenGroup_Root: TdxLayoutGroup;
dxLayoutControlAlmacen: TdxLayoutControl;
dxLayoutControlAlmacenGroup1: TdxLayoutGroup;
dxLayoutControlAlmacenItem3: TdxLayoutItem;
eNombre: TcxDBTextEdit;
dxLayoutControlAlmacenItem4: TdxLayoutItem;
dxLayoutControlAlmacenGroup2: TdxLayoutGroup;
dxLayoutControlAlmacenItem1: TdxLayoutItem;
dxLayoutControlAlmacenItem5: TdxLayoutItem;
dxLayoutControlAlmacenItem6: TdxLayoutItem;
dxLayoutControlAlmacenGroup3: TdxLayoutGroup;
dxLayoutControlAlmacenGroup4: TdxLayoutGroup;
dxLayoutControlAlmacenItem10: TdxLayoutItem;
eCalle: TcxDBTextEdit;
dxLayoutControlAlmacenItem2: TdxLayoutItem;
cbPoblacion: TcxDBComboBox;
dxLayoutControlAlmacenItem7: TdxLayoutItem;
eCodigoPostal: TcxDBTextEdit;
dxLayoutControlAlmacenItem9: TdxLayoutItem;
cbProvincia: TcxDBComboBox;
dxLayoutControlAlmacenGroup6: TdxLayoutGroup;
procedure cbProvinciaPropertiesInitPopup(Sender: TObject);
procedure cbPoblacionPropertiesInitPopup(Sender: TObject);
protected
FAlmacen: IBizAlmacen;
FProvincias : TStringList;
FPoblaciones : TStringList;
procedure CargarProvincias;
procedure CargarPoblaciones;
function GetAlmacen: IBizAlmacen;
procedure SetAlmacen(const Value: IBizAlmacen);
public
constructor Create(AOwner : TComponent); override;
destructor Destroy;
property Almacen: IBizAlmacen read GetAlmacen write SetAlmacen;
end;
implementation
uses
uDataModuleAlmacenes, uProvinciasPoblacionesController, uStringsUtils;
{$R *.dfm}
{ TfrViewAlmacenes }
{
******************************* TfrViewAlmacenes ********************************
}
procedure TfrViewAlmacen.CargarPoblaciones;
var
i : integer;
AID : Integer;
begin
AID := StrToInt(FProvincias.Values[cbProvincia.Text]);
with TProvinciasPoblacionesController.Create do
try
FPoblaciones := DarListaPoblaciones(AID);
with cbPoblacion.Properties.Items do
begin
BeginUpdate;
try
Clear;
for i := 0 to FPoblaciones.Count - 1 do
Add(FPoblaciones.Names[i]);
finally
EndUpdate;
end;
end;
finally
Free;
end;
end;
procedure TfrViewAlmacen.CargarProvincias;
var
i : integer;
begin
with TProvinciasPoblacionesController.Create do
try
FProvincias := DarListaProvincias;
with cbProvincia.Properties.Items do
begin
BeginUpdate;
try
Clear;
for i := 0 to FProvincias.Count - 1 do
Add(FProvincias.Names[i]);
finally
EndUpdate;
end;
end;
finally
Free;
end;
end;
procedure TfrViewAlmacen.cbPoblacionPropertiesInitPopup(Sender: TObject);
begin
ShowHourglassCursor;
try
FreeANDNIL(FPoblaciones);
if not Assigned(FProvincias) then
CargarProvincias;
if not EsCadenaVacia(cbProvincia.Text) and (FProvincias.IndexOfName(cbProvincia.Text) <> -1) then
CargarPoblaciones
finally
HideHourglassCursor;
end;
end;
procedure TfrViewAlmacen.cbProvinciaPropertiesInitPopup(Sender: TObject);
begin
ShowHourglassCursor;
try
if not Assigned(FProvincias) then
CargarProvincias;
finally
HideHourglassCursor;
end;
end;
constructor TfrViewAlmacen.Create(AOwner: TComponent);
begin
inherited;
FProvincias := NIL;
FPoblaciones := NIL;
end;
destructor TfrViewAlmacen.Destroy;
begin
if Assigned(FProvincias) then
FreeANDNIL(FProvincias);
if Assigned(FPoblaciones) then
FreeANDNIL(FPoblaciones);
end;
function TfrViewAlmacen.GetAlmacen: IBizAlmacen;
begin
Result := FAlmacen;
end;
procedure TfrViewAlmacen.SetAlmacen(const Value: IBizAlmacen);
begin
FAlmacen := Value;
if Assigned(FAlmacen) then
DADataSource.DataTable := FAlmacen.DataTable
else
DADataSource.DataTable := NIL;
end;
end.