AbetoDesign_FactuGES2/Source/Modulos/Contactos/Views/uViewDatosYSeleccionProveedor.pas

214 lines
6.5 KiB
ObjectPascal

unit uViewDatosYSeleccionProveedor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, StdCtrls, cxControls, cxContainer, cxEdit, cxLabel,
cxDBLabel, ExtCtrls, DB, uDADataTable, uBizContactos,
ComCtrls, ToolWin, ActnList, ImgList, PngImageList, cxTextEdit, cxDBEdit,
pngimage, JvExControls, JvComponent, JvButton, JvTransparentButton, Mask,
DBCtrls,
uProveedoresController, dxLayoutControl, Buttons, uDAInterfaces;
type
IViewDatosYSeleccionProveedor = interface(IViewBase)
['{EE8C51BD-618D-4211-A247-6FA9BD8EBFD9}']
function GetController: IProveedoresController;
procedure SetController(Value: IProveedoresController);
property Controller: IProveedoresController read GetController write SetController;
function GetProveedor: IBizProveedor;
procedure SetProveedor(Value: IBizProveedor);
property Proveedor: IBizProveedor read GetProveedor write SetProveedor;
function GetOnProveedorChanged : TNotifyEvent;
procedure SetOnProveedorChanged (const Value : TNotifyEvent);
property OnProveedorChanged : TNotifyEvent read GetOnProveedorChanged
write SetOnProveedorChanged;
function GetMsgElegirProveedor: String;
procedure SetMsgElegirProveedor(const Value: String);
property MsgElegirProveedor : String read GetMsgElegirProveedor
write SetMsgElegirProveedor;
end;
TfrViewDatosYSeleccionProveedor = class(TfrViewBase, IViewDatosYSeleccionProveedor)
DADataSource: TDADataSource;
ActionList1: TActionList;
actElegirContacto: TAction;
actAnadirContacto: TAction;
actVerContacto: TAction;
PngImageList: TPngImageList;
dxLayoutControl1Group_Root: TdxLayoutGroup;
dxLayoutControl1: TdxLayoutControl;
dxLayoutControl1Item1: TdxLayoutItem;
edtlNombre: TcxDBTextEdit;
dxLayoutControl1Item2: TdxLayoutItem;
edtNIFCIF: TcxDBTextEdit;
dxLayoutControl1Item3: TdxLayoutItem;
edtCalle: TcxDBTextEdit;
dxLayoutControl1Item4: TdxLayoutItem;
edtPoblacion: TcxDBTextEdit;
dxLayoutControl1Item5: TdxLayoutItem;
edtProvincia: TcxDBTextEdit;
dxLayoutControl1Item6: TdxLayoutItem;
edtCodigoPostal: TcxDBTextEdit;
Button1: TBitBtn;
dxLayoutControl1Item7: TdxLayoutItem;
Button2: TBitBtn;
dxLayoutControl1Item8: TdxLayoutItem;
Button3: TBitBtn;
dxLayoutControl1Item9: TdxLayoutItem;
dxLayoutControl1Group1: TdxLayoutGroup;
dxLayoutControl1Group2: TdxLayoutGroup;
procedure actElegirContactoExecute(Sender: TObject);
procedure actAnadirContactoExecute(Sender: TObject);
procedure actVerContactoExecute(Sender: TObject);
procedure actVerContactoUpdate(Sender: TObject);
private
FController : IProveedoresController;
FProveedor : IBizProveedor;
FOnProveedorChanged : TNotifyEvent;
FMsgElegirProveedor : String;
protected
function GetController: IProveedoresController;
procedure SetController(Value: IProveedoresController);
function GetProveedor: IBizProveedor;
procedure SetProveedor(Value: IBizProveedor);
function GetOnProveedorChanged : TNotifyEvent;
procedure SetOnProveedorChanged (const Value : TNotifyEvent);
function GetMsgElegirProveedor: String;
procedure SetMsgElegirProveedor(const Value: String);
procedure SetReadOnly(Value: Boolean); override;
public
constructor Create(AOwner: TComponent); override;
property MsgElegirProveedor : String read GetMsgElegirProveedor write SetMsgElegirProveedor;
property Controller: IProveedoresController read GetController write SetController;
property Proveedor: IBizProveedor read GetProveedor write SetProveedor;
property OnProveedorChanged : TNotifyEvent read GetOnProveedorChanged write SetOnProveedorChanged;
end;
implementation
{$R *.dfm}
uses
uDataModuleProveedores, Math;
procedure TfrViewDatosYSeleccionProveedor.actElegirContactoExecute(Sender: TObject);
var
AProveedor : IBizProveedor;
begin
inherited;
AProveedor := (Controller.ElegirContacto(Controller.BuscarTodos,
FMsgElegirProveedor, False) as IBizProveedor);
if Assigned(AProveedor) then
begin
Self.Update;
ShowHourglassCursor;
try
Proveedor := AProveedor;
finally
HideHourglassCursor;
end;
end;
end;
procedure TfrViewDatosYSeleccionProveedor.actAnadirContactoExecute(
Sender: TObject);
var
AProveedor : IBizProveedor;
begin
inherited;
AProveedor := (FController.Nuevo as IBizProveedor);
FController.Ver(AProveedor);
Proveedor := AProveedor;
end;
procedure TfrViewDatosYSeleccionProveedor.actVerContactoExecute(Sender: TObject);
begin
inherited;
FController.Ver(Proveedor);
end;
procedure TfrViewDatosYSeleccionProveedor.actVerContactoUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := (Length(edtlNombre.Text) > 0);
end;
constructor TfrViewDatosYSeleccionProveedor.Create(AOwner: TComponent);
begin
inherited;
FMsgElegirProveedor := '';
end;
function TfrViewDatosYSeleccionProveedor.GetProveedor: IBizProveedor;
begin
Result := FProveedor;
end;
function TfrViewDatosYSeleccionProveedor.GetController: IProveedoresController;
begin
Result := FController;
end;
function TfrViewDatosYSeleccionProveedor.GetMsgElegirProveedor: String;
begin
Result := FMsgElegirProveedor;
end;
procedure TfrViewDatosYSeleccionProveedor.SetProveedor(Value: IBizProveedor);
begin
FProveedor := Value;
if Assigned(FProveedor) then
begin
DADataSource.DataTable := FProveedor.DataTable;
if not FProveedor.DataTable.Active then
FProveedor.DataTable.Active := True;
end
else
DADataSource.DataTable := NIL;
if Assigned(FOnProveedorChanged) then
FOnProveedorChanged(Self);
end;
procedure TfrViewDatosYSeleccionProveedor.SetReadOnly(Value: Boolean);
begin
inherited;
if ReadOnly then
begin
actAnadirContacto.Enabled := False;
actElegirContacto.Enabled := False;
end;
end;
procedure TfrViewDatosYSeleccionProveedor.SetController(Value: IProveedoresController);
begin
FController := Value;
end;
procedure TfrViewDatosYSeleccionProveedor.SetMsgElegirProveedor(
const Value: String);
begin
FMsgElegirProveedor := Value;
end;
function TfrViewDatosYSeleccionProveedor.GetOnProveedorChanged: TNotifyEvent;
begin
Result := FOnProveedorChanged;
end;
procedure TfrViewDatosYSeleccionProveedor.SetOnProveedorChanged(
const Value: TNotifyEvent);
begin
FOnProveedorChanged := Value;
end;
end.