git-svn-id: https://192.168.0.254/svn/Proyectos.AbetoDesign_FactuGES/trunk@2 93f398dd-4eb6-7a46-baf6-13f46f578da2
276 lines
7.9 KiB
ObjectPascal
276 lines
7.9 KiB
ObjectPascal
unit uEditorElegirDireccionEntrega;
|
||
|
||
interface
|
||
|
||
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
|
||
Buttons, ExtCtrls, Mask, DBCtrls, DB, uDADataTable,
|
||
cxControls, cxContainer, cxEdit, cxTextEdit, cxDBEdit,
|
||
uIEditorElegirDireccionEntrega, uCustomView, uBizContactos,
|
||
uViewBase, uViewBarraSeleccion, JvExControls, JvComponent, JvgWizardHeader,
|
||
DBCGrids, uBizDireccionesContacto, uDAInterfaces, ActnList,
|
||
uDireccionesContactoController;
|
||
|
||
type
|
||
TfEditorElegirDireccionEntrega = class(TForm, IEditorElegirDireccionEntrega)
|
||
dsDirecciones: TDADataSource;
|
||
frViewBarraSeleccion1: TfrViewBarraSeleccion;
|
||
JvgWizardHeader1: TJvgWizardHeader;
|
||
DBCtrlGrid1: TDBCtrlGrid;
|
||
eCalle: TDBText;
|
||
ePoblacion: TDBText;
|
||
eTelefono: TDBText;
|
||
eProvincia: TDBText;
|
||
ePersonaContacto: TDBText;
|
||
eNombre: TDBText;
|
||
eCodigoPostal: TDBText;
|
||
Label1: TLabel;
|
||
Label2: TLabel;
|
||
Label4: TLabel;
|
||
rdxDestino1: TRadioButton;
|
||
RadioButton1: TRadioButton;
|
||
ActionList1: TActionList;
|
||
actDirSocial: TAction;
|
||
actOtro: TAction;
|
||
dsContacto: TDADataSource;
|
||
pnlDirSocial: TPanel;
|
||
DBText1: TDBText;
|
||
Label3: TLabel;
|
||
DBText2: TDBText;
|
||
Label5: TLabel;
|
||
DBText3: TDBText;
|
||
DBText4: TDBText;
|
||
DBText5: TDBText;
|
||
DBText7: TDBText;
|
||
Label6: TLabel;
|
||
DBText6: TDBText;
|
||
procedure frViewBarraSeleccion1actSeleccionarExecute(Sender: TObject);
|
||
procedure frViewBarraSeleccion1actCancelarExecute(Sender: TObject);
|
||
procedure DBCtrlGrid1DblClick(Sender: TObject);
|
||
procedure ComponenteDblClick(Sender: TObject);
|
||
procedure FormCreate(Sender: TObject);
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure actDirSocialExecute(Sender: TObject);
|
||
procedure actOtroExecute(Sender: TObject);
|
||
procedure actOtroUpdate(Sender: TObject);
|
||
private
|
||
procedure ColorearTextoDirSocial(AColor : TColor);
|
||
procedure ColorearTextoDirOtra(AColor : TColor);
|
||
protected
|
||
FDirecciones: IBizDireccionesContacto;
|
||
FContacto : IBizContacto;
|
||
FDireccionesController : IDireccionesContactoController;
|
||
function GetContacto: IBizContacto;
|
||
procedure SetContacto(const Value: IBizContacto);
|
||
|
||
procedure SetMensaje (const AValue: String);
|
||
function GetMensaje: String;
|
||
|
||
function GetDireccionSeleccionada: IBizDireccionesContacto;
|
||
|
||
procedure RefrescarEstado;
|
||
published
|
||
public
|
||
property Mensaje : String read GetMensaje write SetMensaje;
|
||
property Contacto : IBizContacto read GetContacto write SetContacto;
|
||
property DireccionSeleccionada: IBizDireccionesContacto read GetDireccionSeleccionada;
|
||
end;
|
||
|
||
implementation
|
||
{$R *.dfm}
|
||
|
||
uses
|
||
uStringsUtils, Variants, uDialogUtils;
|
||
|
||
{ TfEditorDireccionEntrega }
|
||
|
||
procedure TfEditorElegirDireccionEntrega.DBCtrlGrid1DblClick(Sender: TObject);
|
||
begin
|
||
frViewBarraSeleccion1.actSeleccionar.Execute;
|
||
end;
|
||
|
||
procedure TfEditorElegirDireccionEntrega.FormCreate(Sender: TObject);
|
||
begin
|
||
FDireccionesController := TDireccionesContactoController.Create;
|
||
end;
|
||
|
||
procedure TfEditorElegirDireccionEntrega.FormDestroy(Sender: TObject);
|
||
begin
|
||
FDireccionesController := NIL;
|
||
end;
|
||
|
||
procedure TfEditorElegirDireccionEntrega.FormShow(Sender: TObject);
|
||
begin
|
||
if Assigned(FContacto) then
|
||
begin
|
||
if Supports(FContacto, IBizCliente) then
|
||
begin
|
||
Caption := 'Elegir una direcci<63>n de cliente';
|
||
JvgWizardHeader1.Captions.Text := 'Seleccione una direcci<63>n de cliente';
|
||
end;
|
||
if Supports(FContacto, IBizProveedor) then
|
||
begin
|
||
Caption := 'Elegir una direcci<63>n de proveedor';
|
||
JvgWizardHeader1.Captions.Text := 'Seleccione una direcci<63>n de proveedor';
|
||
end;
|
||
end;
|
||
|
||
actDirSocial.Checked := True;
|
||
RefrescarEstado;
|
||
end;
|
||
|
||
procedure TfEditorElegirDireccionEntrega.actDirSocialExecute(Sender: TObject);
|
||
begin
|
||
actDirSocial.Checked := True;
|
||
RefrescarEstado;
|
||
end;
|
||
|
||
procedure TfEditorElegirDireccionEntrega.actOtroExecute(Sender: TObject);
|
||
begin
|
||
actOtro.Checked := True;
|
||
RefrescarEstado;
|
||
end;
|
||
|
||
procedure TfEditorElegirDireccionEntrega.actOtroUpdate(Sender: TObject);
|
||
begin
|
||
(Sender as TAction).Enabled := (FDirecciones.RecordCount > 0)
|
||
end;
|
||
|
||
procedure TfEditorElegirDireccionEntrega.ComponenteDblClick(Sender: TObject);
|
||
begin
|
||
DBCtrlGrid1DblClick(Sender);
|
||
end;
|
||
|
||
procedure TfEditorElegirDireccionEntrega.frViewBarraSeleccion1actCancelarExecute(
|
||
Sender: TObject);
|
||
begin
|
||
ModalResult := mrCancel;
|
||
end;
|
||
|
||
procedure TfEditorElegirDireccionEntrega.frViewBarraSeleccion1actSeleccionarExecute(
|
||
Sender: TObject);
|
||
begin
|
||
ModalResult := mrOk;
|
||
end;
|
||
|
||
function TfEditorElegirDireccionEntrega.GetContacto: IBizContacto;
|
||
begin
|
||
Result := FContacto;
|
||
end;
|
||
|
||
function TfEditorElegirDireccionEntrega.GetDireccionSeleccionada: IBizDireccionesContacto;
|
||
begin
|
||
Result := FDireccionesController.Nuevo;
|
||
if actOtro.Checked then
|
||
begin
|
||
with Result do
|
||
begin
|
||
ID := FDirecciones.ID;
|
||
NOMBRE := FDirecciones.NOMBRE;
|
||
CALLE := FDirecciones.CALLE;
|
||
POBLACION := FDirecciones.POBLACION;
|
||
CODIGO_POSTAL := FDirecciones.CODIGO_POSTAL;
|
||
PROVINCIA := FDirecciones.PROVINCIA;
|
||
TELEFONO := FDirecciones.TELEFONO;
|
||
FAX := FDirecciones.FAX;
|
||
MOVIL := FDirecciones.MOVIL;
|
||
EMAIL := FDirecciones.EMAIL;
|
||
PERSONA_CONTACTO := FDirecciones.PERSONA_CONTACTO;
|
||
end;
|
||
end
|
||
else begin
|
||
with Result do
|
||
begin
|
||
DataTable.FieldByName('ID').AsVariant := Null;
|
||
NOMBRE := FContacto.NOMBRE;
|
||
CALLE := FContacto.CALLE;
|
||
POBLACION := FContacto.POBLACION;
|
||
CODIGO_POSTAL := FContacto.CODIGO_POSTAL;
|
||
PROVINCIA := FContacto.PROVINCIA;
|
||
TELEFONO := FContacto.TELEFONO_1;
|
||
FAX := FContacto.FAX;
|
||
MOVIL := FContacto.MOVIL_1;
|
||
EMAIL := FContacto.EMAIL_1;
|
||
PERSONA_CONTACTO := FContacto.PERSONA_CONTACTO;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
function TfEditorElegirDireccionEntrega.GetMensaje: String;
|
||
begin
|
||
Result := JvgWizardHeader1.Comments.Text;
|
||
end;
|
||
|
||
procedure TfEditorElegirDireccionEntrega.RefrescarEstado;
|
||
begin
|
||
if (actOtro.Checked) then
|
||
begin
|
||
DBCtrlGrid1.Enabled := True;
|
||
DBCtrlGrid1.Color := clWindow;
|
||
pnlDirSocial.Enabled := False;
|
||
pnlDirSocial.Color := clBtnFace;
|
||
|
||
ColorearTextoDirOtra(clWindowText);
|
||
ColorearTextoDirSocial(clGray);
|
||
end;
|
||
|
||
if (actDirSocial.Checked) then
|
||
begin
|
||
DBCtrlGrid1.Enabled := False;
|
||
DBCtrlGrid1.Color := clBtnFace;
|
||
pnlDirSocial.Enabled := True;
|
||
pnlDirSocial.Color := clWindow;
|
||
|
||
ColorearTextoDirSocial(clWindowText);
|
||
ColorearTextoDirOtra(clGray);
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorElegirDireccionEntrega.ColorearTextoDirOtra(AColor: TColor);
|
||
begin
|
||
eNombre.Font.Color := AColor;
|
||
eCalle.Font.Color := AColor;
|
||
ePoblacion.Font.Color := AColor;
|
||
eProvincia.Font.Color := AColor;
|
||
eTelefono.Font.Color := AColor;
|
||
ePersonaContacto.Font.Color := AColor;
|
||
eCodigoPostal.Font.Color := AColor;
|
||
end;
|
||
|
||
procedure TfEditorElegirDireccionEntrega.ColorearTextoDirSocial(AColor: TColor);
|
||
begin
|
||
DBText1.Font.Color := AColor;
|
||
DBText2.Font.Color := AColor;
|
||
DBText3.Font.Color := AColor;
|
||
DBText4.Font.Color := AColor;
|
||
DBText5.Font.Color := AColor;
|
||
DBText6.Font.Color := AColor;
|
||
DBText7.Font.Color := AColor;
|
||
end;
|
||
|
||
procedure TfEditorElegirDireccionEntrega.SetContacto(const Value: IBizContacto);
|
||
begin
|
||
FContacto := Value;
|
||
if Assigned(FContacto) then
|
||
begin
|
||
FDirecciones := FContacto.Direcciones;
|
||
dsContacto.DataTable := FContacto.DataTable;
|
||
dsDirecciones.DataTable := FDirecciones.DataTable;
|
||
end
|
||
else begin
|
||
FDirecciones := NIL;
|
||
dsDirecciones.DataTable := NIL;
|
||
dsContacto.DataTable := NIL;
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorElegirDireccionEntrega.SetMensaje(const AValue: String);
|
||
begin
|
||
if not EsCadenaVacia(AValue) then
|
||
JvgWizardHeader1.Comments.Text := AValue
|
||
else
|
||
JvgWizardHeader1.Comments.Text := ' ';
|
||
end;
|
||
|
||
end.
|