Tecsitel_FactuGES2/Source/Modulos/Contactos/Views/uEditorClientes.pas.bak
2007-09-04 17:44:53 +00:00

122 lines
3.6 KiB
ObjectPascal

unit uEditorClientes;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
uEditorContactos, Menus, ImgList, PngImageList, StdActns,
ActnList, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar,
JvExControls, JvComponent, JvNavigationPane, DB, uDADataTable,
JvFormAutoSize, ComCtrls, uDAScriptingProvider, uDACDSDataTable, StdCtrls,
JvAppStorage, JvAppRegistryStorage, JvFormPlacement, uCustomView,
uViewBase, uViewBarraSeleccion, ExtCtrls, pngimage, JvComponentBase,
uIEditorClientes, uViewGridBase, uViewGrid, uViewContactos, uViewClientes,
TBXStatusBars, JvExComCtrls, JvStatusBar, JSDialog;
type
TfEditorClientes = class(TfEditorContactos, IEditorClientes)
frViewClientes1: TfrViewClientes;
actGruposCliente: TAction;
JsListaContactosNoEliminados: TJSDialog;
procedure actGruposClienteExecute(Sender: TObject);
protected
procedure EliminarInterno; override;
public
constructor Create(AOwner: TComponent); override;
procedure PonerTitulos(const ATitulo: string = ''); override;
end;
implementation
uses
uGridUtils, uDataModuleContactos, uDataModuleBase, uEditorGridBase, uBizContactos,
uDBSelectionListUtils, uDataModuleUsuarios, uDialogUtils,
uGruposClienteController, uBizGruposCliente, uClientesController;
{$R *.dfm}
{
******************************* TfEditorClientes *******************************
}
procedure TfEditorClientes.actGruposClienteExecute(Sender: TObject);
var
AGruposController : IGruposClienteController;
AGrupos : IBizGrupoCliente;
begin
AGruposController := TGruposClienteController.Create;
try
AGrupos := (AGruposController.BuscarTodos as IBizGrupoCliente);
AGruposController.VerTodos(AGrupos);
finally
AGrupos := NIL;
AGruposController := NIL;
end;
end;
constructor TfEditorClientes.Create(AOwner: TComponent);
begin
inherited;
ViewGrid := frViewClientes1; //CreateView(TfrViewClientes) as IViewContactos;
end;
procedure TfEditorClientes.EliminarInterno;
var
AContactos: IBizContacto;
AllItems: Boolean;
begin
AContactos := Nil;
AllItems := False;
if MultiSelect and Assigned(ViewGrid) then
AllItems := (ViewGrid.NumSeleccionados > 1);
if AllItems then
begin
if (Application.MessageBox('¿Desea borrar los clientes seleccionados?', 'Atención', MB_YESNO) = IDYES) then
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Contactos as ISeleccionable).SelectedRecords);
AContactos := (Controller as IClientesController).ExtraerSeleccionados(Contactos) as IBizContacto;
end
end
else begin
if (Application.MessageBox('¿Desea borrar el cliente seleccionado?', 'Atención', MB_YESNO) = IDYES) then
AContactos := Contactos;
end;
if Assigned(AContactos) then
begin
(FController as IClientesController).Eliminar(AContactos, AllItems);
if AllItems then
begin
if (AContactos.DataTable.RecordCount > 0) then
begin
with AContactos.DataTable do
begin
First;
while not EOF do
begin
JsListaContactosNoEliminados.Content.Add('Cliente: ' + AContactos.NOMBRE);
Next;
end;
end;
JsListaContactosNoEliminados.Execute;
end;
actRefrescar.Execute;
end;
end;
ViewGrid.GotoFirst;
end;
procedure TfEditorClientes.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
begin
FTitulo := 'Lista de clientes - ' + dmUsuarios.EmpresaActual.NOMBRE;
inherited PonerTitulos(FTitulo);
end;
end.