AbetoDesign_FactuGES2/Source/ApplicationBase/Usuarios/Views/uEditorPerfilUsuario.pas

168 lines
4.8 KiB
ObjectPascal
Raw Blame History

unit uEditorPerfilUsuario;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorDBItem, JvAppStorage, JvAppRegistryStorage, DB, uDAInterfaces,
uDADataTable, JvComponentBase, JvFormPlacement, ImgList, PngImageList,
StdActns, ActnList, ComCtrls, JvExComCtrls, JvStatusBar, TBX, TB2Item,
TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvNavigationPane,
uIEditorPerfilUsuario, uUsuariosController, uCustomView, uViewBase,
uViewPerfilUsuario, uBizUsuarios, dxLayoutLookAndFeels;
type
TfEditorPerfilUsuario = class(TfEditorDBItem, IEditorPerfilUsuario)
dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel;
private
FController : IUsuariosController;
FPerfilUsuario : IBizPerfilUsuario;
FViewPerfilUsuario : IViewPerfilUsuario;
protected
function GetController : IUsuariosController;
procedure SetController (const Value : IUsuariosController);
function GetPerfilUsuario: IBizPerfilUsuario;
procedure SetPerfilUsuario(const Value: IBizPerfilUsuario);
procedure GuardarInterno; override;
procedure EliminarInterno; override;
//Si queremos crear otra vista para el editor heredado solo tendriamos que
//sobreescribir este metodo
procedure AsignarVista; virtual;
procedure PonerTitulos(const ATitulo: string = ''); override;
function GetViewPerfilUsuario: IViewPerfilUsuario;
procedure SetViewPerfilUsuario(const Value: IViewPerfilUsuario);
property ViewPerfilUsuario: IViewPerfilUsuario read GetViewPerfilUsuario write SetViewPerfilUsuario;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property Controller : IUsuariosController read GetController write SetController;
property PerfilUsuario: IBizPerfilUsuario read GetPerfilUsuario write SetPerfilUsuario;
end;
implementation
{$R *.dfm}
uses
uDialogUtils;
{ TfEditorUsuario }
var
FIDNuevoGuardado : Integer = -1;
procedure TfEditorPerfilUsuario.AsignarVista;
var
AViewPerfilUsuario: TfrViewPerfilUsuario;
begin
AViewPerfilUsuario := TfrViewPerfilUsuario.Create(Self);
with AViewPerfilUsuario do
begin
Parent := pagGeneral;
Align := alClient;
dxLayoutControlArticulo.LookAndFeel := dxLayoutOfficeLookAndFeel1;
end;
ViewPerfilUsuario := AViewPerfilUsuario;
end;
constructor TfEditorPerfilUsuario.Create(AOwner: TComponent);
begin
inherited;
pgPaginas.ActivePageIndex := 0;
AsignarVista;
end;
destructor TfEditorPerfilUsuario.Destroy;
begin
// Utilizar mejor OnClose;
inherited;
end;
procedure TfEditorPerfilUsuario.EliminarInterno;
begin
if (ShowConfirmMessage('Eliminar un perfil de usuario', '<27>Desea borrar este perfil?') = IDYES) then
begin
inherited;
if not FController.EliminarPerfil(FPerfilUsuario) then
actRefrescar.Execute;
end;
end;
function TfEditorPerfilUsuario.GetController: IUsuariosController;
begin
Result := FController;
end;
function TfEditorPerfilUsuario.GetPerfilUsuario: IBizPerfilUsuario;
begin
Result := FPerfilUsuario;
end;
function TfEditorPerfilUsuario.GetViewPerfilUsuario: IViewPerfilUsuario;
begin
Result := FViewPerfilUsuario;
end;
procedure TfEditorPerfilUsuario.GuardarInterno;
begin
inherited;
if FController.GuardarPerfil(FPerfilUsuario) then
begin
FIDNuevoGuardado := FPerfilUsuario.ID;
FPerfilUsuario.DataTable.CancelUpdates;
Modified := False;
actRefrescar.Execute;
end;
end;
procedure TfEditorPerfilUsuario.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
begin
if Assigned(FPerfilUsuario) then
begin
if FPerfilUsuario.EsNuevo then
FTitulo := 'Nuevo perfil'
else
FTitulo := 'Perfil';
if Length(FPerfilUsuario.USERNAME) > 0 then
FTitulo := FTitulo + ' - ' + FPerfilUsuario.USERNAME;
end;
inherited PonerTitulos(FTitulo);
end;
procedure TfEditorPerfilUsuario.SetController(const Value: IUsuariosController);
begin
FController := Value;
if Assigned(FViewPerfilUsuario) and Assigned(FController) then
FViewPerfilUsuario.Controller := FController;
end;
procedure TfEditorPerfilUsuario.SetPerfilUsuario(
const Value: IBizPerfilUsuario);
begin
FPerfilUsuario := Value;
dsDataTable.DataTable := FPerfilUsuario.DataTable;
if Assigned(FViewPerfilUsuario) and Assigned(FPerfilUsuario) then
FViewPerfilUsuario.PerfilUsuario := FPerfilUsuario;
end;
procedure TfEditorPerfilUsuario.SetViewPerfilUsuario(const Value: IViewPerfilUsuario);
begin
FViewPerfilUsuario := Value;
if Assigned(FViewPerfilUsuario) and Assigned(FPerfilUsuario) then
FViewPerfilUsuario.PerfilUsuario := FPerfilUsuario;
end;
end.