174 lines
4.5 KiB
ObjectPascal
174 lines
4.5 KiB
ObjectPascal
unit uEditorTiendaWeb;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, uDialogBase, ActnList, StdCtrls, ExtCtrls, cxTextEdit, cxDBEdit,
|
||
cxControls, cxContainer, cxEdit, cxCheckBox, DBXpress, WideStrings, SqlExpr,
|
||
uIEditorTiendaWeb, uBizTiendaWeb, uTiendaWebController, DB, uDADataTable;
|
||
|
||
type
|
||
TfEditorTiendaWeb = class(TfDialogBase, IEditorTiendaWeb)
|
||
cbActivo: TcxDBCheckBox;
|
||
GroupBox1: TGroupBox;
|
||
Label3: TLabel;
|
||
Label4: TLabel;
|
||
Label5: TLabel;
|
||
Label6: TLabel;
|
||
edtBDSERVER: TcxDBTextEdit;
|
||
edtBDUSER: TcxDBTextEdit;
|
||
edtBDPASS: TcxDBTextEdit;
|
||
edtBDNAME: TcxDBTextEdit;
|
||
bComprobar: TButton;
|
||
actComprobarAcceso: TAction;
|
||
dsTiendaWeb: TDADataSource;
|
||
procedure actComprobarAccesoUpdate(Sender: TObject);
|
||
procedure actComprobarAccesoExecute(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure cbActivoPropertiesEditValueChanged(Sender: TObject);
|
||
procedure actAceptarExecute(Sender: TObject);
|
||
procedure actCancelarExecute(Sender: TObject);
|
||
private
|
||
procedure RefrescarControles;
|
||
protected
|
||
FTienda : IBizTiendaWeb;
|
||
FController : ITiendaWebController;
|
||
function GetTiendaWeb: IBizTiendaWeb;
|
||
procedure SetTiendaWeb(const Value: IBizTiendaWeb);
|
||
public
|
||
property TiendaWeb: IBizTiendaWeb read GetTiendaWeb write SetTiendaWeb;
|
||
constructor Create(AOwner: TComponent); override;
|
||
destructor Destroy; override;
|
||
end;
|
||
|
||
implementation
|
||
|
||
{$R *.dfm}
|
||
|
||
uses
|
||
uDialogUtils;
|
||
|
||
|
||
procedure TfEditorTiendaWeb.actAceptarExecute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
FController.Guardar(FTienda);
|
||
Close;
|
||
end;
|
||
|
||
procedure TfEditorTiendaWeb.actCancelarExecute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
FController.DescartarCambios(FTienda);
|
||
Close;
|
||
end;
|
||
|
||
procedure TfEditorTiendaWeb.actComprobarAccesoExecute(Sender: TObject);
|
||
var
|
||
SQLConnection1: TSQLConnection;
|
||
begin
|
||
SQLConnection1 := TSQLConnection.Create(Self);
|
||
try
|
||
with SQLConnection1 do
|
||
begin
|
||
Name := 'SQLConnection1';
|
||
ConnectionName := 'MySQLConnection';
|
||
DriverName := 'MySQL';
|
||
GetDriverFunc := 'getSQLDriverMYSQL';
|
||
LibraryName := 'dbxmys30.dll';
|
||
LoginPrompt := False;
|
||
with Params do
|
||
begin
|
||
Clear;
|
||
Add('BlobSize=-1');
|
||
Add('DriverName=MySQL');
|
||
Add('ErrorResourceFile=');
|
||
Add('LocaleCode=0000');
|
||
Add('Compressed=True');
|
||
Add('Encrypted=True');
|
||
Add('Database=' + edtBDNAME.Text);
|
||
Add('HostName=' + edtBDSERVER.Text);
|
||
Add('User_Name=' + edtBDUSER.Text);
|
||
Add('Password=' + edtBDPASS.Text);
|
||
end;
|
||
VendorLib := 'LIBMYSQL.dll';
|
||
|
||
try
|
||
Connected := True;
|
||
ShowInfoMessage('Conexi<78>n v<>lida con la tienda');
|
||
Connected := False;
|
||
except
|
||
on E : Exception do
|
||
ShowErrorMessage('Error de conexi<78>n', 'No se ha podido establecer la conexi<78>n con la base de datos.', E);
|
||
end;
|
||
end;
|
||
finally
|
||
FreeAndNIL(SQLConnection1);
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorTiendaWeb.actComprobarAccesoUpdate(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
(Sender as TAction).Enabled :=
|
||
(Length(edtBDSERVER.Text) > 0) and
|
||
(Length(edtBDUSER.Text) > 0) and
|
||
(Length(edtBDNAME.Text) > 0);
|
||
end;
|
||
|
||
procedure TfEditorTiendaWeb.cbActivoPropertiesEditValueChanged(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
RefrescarControles;
|
||
end;
|
||
|
||
constructor TfEditorTiendaWeb.Create(AOwner: TComponent);
|
||
begin
|
||
inherited;
|
||
FController := TTiendaWebController.Create;
|
||
end;
|
||
|
||
destructor TfEditorTiendaWeb.Destroy;
|
||
begin
|
||
FController := NIL;
|
||
FTienda := NIL;
|
||
inherited;
|
||
end;
|
||
|
||
procedure TfEditorTiendaWeb.FormShow(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
if not FTienda.DataTable.Active then
|
||
FTienda.DataTable.Active := True;
|
||
|
||
RefrescarControles;
|
||
end;
|
||
|
||
function TfEditorTiendaWeb.GetTiendaWeb: IBizTiendaWeb;
|
||
begin
|
||
Result := FTienda;
|
||
end;
|
||
|
||
procedure TfEditorTiendaWeb.RefrescarControles;
|
||
begin
|
||
edtBDSERVER.Enabled := (FTienda.TIENDA_ACTIVA = 1);
|
||
edtBDUSER.Enabled := (FTienda.TIENDA_ACTIVA = 1);
|
||
edtBDPASS.Enabled := (FTienda.TIENDA_ACTIVA = 1);
|
||
edtBDNAME.Enabled := (FTienda.TIENDA_ACTIVA = 1);
|
||
end;
|
||
|
||
procedure TfEditorTiendaWeb.SetTiendaWeb(const Value: IBizTiendaWeb);
|
||
begin
|
||
FTienda := Value;
|
||
if Assigned(FTienda) then
|
||
begin
|
||
dsTiendaWeb.DataTable := FTienda.DataTable;
|
||
dsTiendaWeb.DataTable.Open;
|
||
end
|
||
else
|
||
dsTiendaWeb.DataTable := NIL;
|
||
end;
|
||
|
||
end.
|