ProGestion/Modulos/Contactos/Cliente/uViewDatosYSeleccionContacto2.pas

168 lines
4.9 KiB
ObjectPascal
Raw Normal View History

unit uViewDatosYSeleccionContacto2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, StdCtrls, cxControls, cxContainer, cxEdit, cxLabel,
cxDBLabel, ExtCtrls, DB, uDADataTable, uBizContacto,
ComCtrls, ToolWin, ActnList, ImgList, PngImageList, cxTextEdit, cxDBEdit,
pngimage, JvExControls, JvComponent, JvButton, JvTransparentButton, Mask,
DBCtrls, dxLayoutControl;
type
IViewDatosYSeleccionContacto = interface(IViewBase)
['{FCBC26C6-5B00-4985-B8AD-E91C79BE469B}']
function GetContacto: IBizContacto;
procedure SetContacto(Value: IBizContacto);
property Contacto: IBizContacto read GetContacto write SetContacto;
function GetOnContactoChanged : TNotifyEvent;
procedure SetOnContactoChanged (const Value : TNotifyEvent);
property OnContactoChanged : TNotifyEvent read GetOnContactoChanged
write SetOnContactoChanged;
end;
TfrViewDatosYSeleccionContacto2 = class(TfrViewBase, IViewDatosYSeleccionContacto)
edtlNombre: TcxDBTextEdit;
dxLayoutControl1Group_Root: TdxLayoutGroup;
dxLayoutControl1: TdxLayoutControl;
dxLayoutControl1Group1: TdxLayoutGroup;
dxLayoutControl1Item1: TdxLayoutItem;
dxLayoutControl1Item2: TdxLayoutItem;
edtCalle: TcxDBTextEdit;
dxLayoutControl1Item3: TdxLayoutItem;
edtProvincia: TcxDBTextEdit;
dxLayoutControl1Item5: TdxLayoutItem;
edtPoblacion: TcxDBTextEdit;
dxLayoutControl1Item6: TdxLayoutItem;
edtCodigoPostal: TcxDBTextEdit;
dxLayoutControl1Group3: TdxLayoutGroup;
dxLayoutControl1Item7: TdxLayoutItem;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton3: TToolButton;
ToolButton2: TToolButton;
dxLayoutControl1Item8: TdxLayoutItem;
ToolBar2: TToolBar;
ToolButton4: TToolButton;
DADataSource: TDADataSource;
ActionList1: TActionList;
actElegirContacto: TAction;
actAnadirContacto: TAction;
actVerContacto: TAction;
PngImageList: TPngImageList;
edtNIFCIF: TcxDBTextEdit;
dxLayoutControl1Item9: TdxLayoutItem;
procedure actElegirContactoExecute(Sender: TObject);
procedure actAnadirContactoExecute(Sender: TObject);
procedure actVerContactoExecute(Sender: TObject);
procedure actVerContactoUpdate(Sender: TObject);
procedure cxLabel1Click(Sender: TObject);
private
FContacto : IBizContacto;
FOnContactoChanged : TNotifyEvent;
protected
function GetContacto: IBizContacto;
procedure SetContacto(Value: IBizContacto);
function GetOnContactoChanged : TNotifyEvent;
procedure SetOnContactoChanged (const Value : TNotifyEvent);
public
property Contacto: IBizContacto read GetContacto write SetContacto;
property OnContactoChanged : TNotifyEvent read GetOnContactoChanged
write SetOnContactoChanged;
end;
var
frViewDatosYSeleccionContacto2: TfrViewDatosYSeleccionContacto2;
implementation
{$R *.dfm}
uses
uDataModuleContactos;
procedure TfrViewDatosYSeleccionContacto2.actElegirContactoExecute(Sender: TObject);
var
AContacto : IBizContacto;
begin
inherited;
AContacto := dmContactos.GetContactos;
try
if AContacto.ShowForSelect = mrOK then
begin
Contacto := dmContactos.GetItemsSeleccionados(AContacto);
end;
finally
AContacto := NIL;
end;
end;
procedure TfrViewDatosYSeleccionContacto2.actAnadirContactoExecute(
Sender: TObject);
var
AContactos : IBizContacto;
begin
inherited;
AContactos := dmContactos.GetContacto(-1);
try
AContactos.DataTable.Active := True;
AContactos.Insert;
AContactos.Show;
if AContactos.DataTable.RecordCount > 0 then
Contacto := AContactos;
finally
AContactos := NIL;
end;
end;
procedure TfrViewDatosYSeleccionContacto2.actVerContactoExecute(Sender: TObject);
begin
inherited;
Contacto.Show;
end;
procedure TfrViewDatosYSeleccionContacto2.actVerContactoUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := Length(edtlNombre.Text) > 0;
end;
procedure TfrViewDatosYSeleccionContacto2.cxLabel1Click(Sender: TObject);
begin
inherited;
actVerContacto.Execute;
end;
function TfrViewDatosYSeleccionContacto2.GetContacto: IBizContacto;
begin
Result := FContacto;
end;
procedure TfrViewDatosYSeleccionContacto2.SetContacto(Value: IBizContacto);
begin
FContacto := Value;
DADataSource.DataTable := FContacto.DataTable;
if not FContacto.DataTable.Active then
FContacto.DataTable.Active := True;
if Assigned(FOnContactoChanged) then
FOnContactoChanged(Self);
end;
function TfrViewDatosYSeleccionContacto2.GetOnContactoChanged: TNotifyEvent;
begin
Result := FOnContactoChanged;
end;
procedure TfrViewDatosYSeleccionContacto2.SetOnContactoChanged(const Value: TNotifyEvent);
begin
FOnContactoChanged := Value;
end;
end.