This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
LuisLeon_FactuGES2/Source/Modulos/Contactos/Views/uViewProveedor.pas

172 lines
5.5 KiB
ObjectPascal

unit uViewProveedor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewContacto, dxLayoutLookAndFeels, DB, uDADataTable,
dxLayoutControl, cxMemo, cxDBEdit, cxContainer, cxEdit, cxTextEdit, cxControls,
cxMaskEdit, cxSpinEdit, ImgList, PngImageList, ActnList, cxHyperLinkEdit,
Buttons, PngSpeedButton, StdCtrls, cxCheckBox, cxGraphics, cxDropDownEdit,
uGruposProveedorController, uDAInterfaces, cxLookupEdit, cxDBLookupEdit,
cxDBLookupComboBox;
type
IViewProveedor = interface(IViewContacto)
['{D251B289-767A-489A-A862-BE564C79EFE6}']
end;
TfrViewProveedor = class(TfrViewContacto, IViewProveedor)
dxLayoutControlContactoItem22: TdxLayoutItem;
cxDBCheckBox2: TcxDBCheckBox;
dxLayoutControlContactoItem23: TdxLayoutItem;
eCertificaciones: TcxDBTextEdit;
dxLayoutControlContactoGroup14: TdxLayoutGroup;
dxLayoutControlContactoItem20: TdxLayoutItem;
cbGrupoProveedor: TcxDBComboBox;
dxLayoutControlContactoItem21: TdxLayoutItem;
cbDescripcionProveedor: TcxDBComboBox;
dxLayoutControlContactoItem24: TdxLayoutItem;
eCodigoAsignado: TcxDBTextEdit;
dxLayoutControlContactoItem26: TdxLayoutItem;
cxDBCheckBox3: TcxDBCheckBox;
dxLayoutControlContactoGroup15: TdxLayoutGroup;
Label2: TLabel;
eMailAdministracion: TcxDBHyperLinkEdit;
PngSpeedButton4: TPngSpeedButton;
actMandarCorreoAdministrativo: TAction;
dxLayoutControlContactoItem27: TdxLayoutItem;
cxDBCheckBox1: TcxDBCheckBox;
dxLayoutControlContactoItem28: TdxLayoutItem;
Label1: TLabel;
procedure actMandarCorreoAdministrativoExecute(Sender: TObject);
procedure actMandarCorreoAdministrativoUpdate(Sender: TObject);
procedure eMailAdministracionPropertiesEditValueChanged(Sender: TObject);
procedure eMailAdministracionPropertiesValidate(Sender: TObject;
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
procedure CustomViewCreate(Sender: TObject);
procedure CustomViewDestroy(Sender: TObject);
procedure cbGrupoProveedorPropertiesInitPopup(Sender: TObject);
procedure cbGrupoProveedorPropertiesValidate(Sender: TObject;
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
procedure cbDescripcionProveedorPropertiesInitPopup(Sender: TObject);
protected
FGrupoController: IGruposProveedorController;
public
end;
implementation
{$R *.dfm}
uses
uBizGruposProveedor, uBizContactos, uProveedoresController;
type
THackcxDBHyperLinkEdit = class(TcxDBHyperLinkEdit);
procedure TfrViewProveedor.actMandarCorreoAdministrativoExecute(
Sender: TObject);
begin
THackcxDBHyperLinkEdit(eMailAdministracion).DoStart;
end;
procedure TfrViewProveedor.actMandarCorreoAdministrativoUpdate(Sender: TObject);
begin
(Sender as TAction).Enabled := (Length(eMailAdministracion.Text) > 0)
end;
procedure TfrViewProveedor.cbDescripcionProveedorPropertiesInitPopup(
Sender: TObject);
begin
inherited;
with cbDescripcionProveedor.Properties.Items do
begin
ShowHourglassCursor;
BeginUpdate;
try
Clear;
AddStrings((FController as IProveedoresController).DarListaDescripcionesProveedores);
finally
EndUpdate;
HideHourglassCursor;
end;
end;
end;
procedure TfrViewProveedor.cbGrupoProveedorPropertiesInitPopup(Sender: TObject);
begin
inherited;
with cbGrupoProveedor.Properties.Items do
begin
BeginUpdate;
try
Clear;
AddStrings(FGrupoController.DarListaGruposProveedor);
finally
EndUpdate;
end;
end;
end;
procedure TfrViewProveedor.cbGrupoProveedorPropertiesValidate(Sender: TObject;
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
var
AGrupo : IBizGrupoProveedor;
begin
inherited;
with (Sender as TcxDBComboBox) do
begin
if (Length(DisplayValue) > 0) and (DisplayValue <> (Contacto as IBizProveedor).GRUPO_PROVEEDOR) then
if Properties.LookupItems.IndexOf(DisplayValue) < 0 then
begin
Properties.LookupItems.BeginUpdate;
AGrupo := FGrupoController.BuscarTodos;
AGrupo.DataTable.Active := True;
try
FGrupoController.Anadir(AGrupo);
AGrupo.DESCRIPCION := DisplayValue;
FGrupoController.Guardar(AGrupo);
Properties.LookupItems.Add(DisplayValue);
finally
Properties.LookupItems.EndUpdate;
AGrupo := NIL;
end;
end;
end;
end;
procedure TfrViewProveedor.CustomViewCreate(Sender: TObject);
begin
inherited;
FGrupoController := TGruposProveedorController.Create;
end;
procedure TfrViewProveedor.CustomViewDestroy(Sender: TObject);
begin
FGrupoController := Nil;
inherited;
end;
procedure TfrViewProveedor.eMailAdministracionPropertiesEditValueChanged(
Sender: TObject);
begin
if not VarIsNull((Sender as TcxDBHyperLinkEdit).EditValue) then
(Sender as TcxDBHyperLinkEdit).EditValue := StringReplace((Sender as TcxDBHyperLinkEdit).EditValue, (Sender as TcxDBHyperLinkEdit).Properties.Prefix, '', []);
end;
procedure TfrViewProveedor.eMailAdministracionPropertiesValidate(
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
var Error: Boolean);
begin
if not VarIsNull(DisplayValue) then
DisplayValue := StringReplace(DisplayValue, (Sender as TcxDBHyperLinkEdit).Properties.Prefix, '', []);
end;
end.