Tecsitel_FactuGES2/Source/Modulos/Almacenes/Views/uEditorAlmacenes.pas
2007-11-19 19:13:37 +00:00

156 lines
4.3 KiB
ObjectPascal
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit uEditorAlmacenes;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorBase, ToolWin, ComCtrls, JvExControls, JvComponent,
JvNavigationPane, uViewAlmacenes, uBizAlmacenes, ActnList, DBActns, uViewGrid,
Menus, uDataModuleBase, ImgList, PngImageList, TB2Dock, TB2Toolbar, TBX,
TB2Item, StdActns, TB2ExtItems, TBXExtItems, TB2MRU, DB, uDADataTable,
JvFormAutoSize, uDAScriptingProvider, uDACDSDataTable, JvAppStorage,
JvAppRegistryStorage, JvFormPlacement, ExtCtrls, uCustomView, uViewBase,
uViewBarraSeleccion, pngimage, uIEditorAlmacenes, uEditorGridBase,
JvComponentBase, uViewGridBase, uAlmacenesController, JvExComCtrls,
JvStatusBar, uDAInterfaces;
type
TfEditorAlmacenes = class(TfEditorGridBase, IEditorAlmacenes)
frViewAlmacenes1: TfrViewAlmacenes;
procedure FormShow(Sender: TObject);
private
FAlmacenes: IBizAlmacen;
FController : IAlmacenesController;
protected
function GetAlmacenes: IBizAlmacen;
procedure SetAlmacenes(const Value: IBizAlmacen);
function GetController : IAlmacenesController; virtual;
procedure SetController (const Value : IAlmacenesController); virtual;
procedure NuevoInterno; override;
procedure EliminarInterno; override;
procedure ModificarInterno; override;
procedure DuplicarInterno; override;
public
procedure PonerTitulos(const ATitulo: string = ''); override;
property Almacenes: IBizAlmacen read GetAlmacenes write SetAlmacenes;
property Controller : IAlmacenesController read GetController write SetController;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
implementation
uses
uCustomEditor, uDataModuleAlmacenes, uDataModuleUsuarios,
uEditorAlmacen, uEditorDBBase, uFactuGES_App,
cxGrid, cxGridCustomTableView; //, uListaAlmacenes;
{$R *.dfm}
{
****************************** TfEditorAlmacenes *******************************
}
procedure TfEditorAlmacenes.FormShow(Sender: TObject);
begin
inherited;
if not Assigned(ViewGrid) then
raise Exception.Create('No hay ninguna vista asignada');
if not Assigned(Almacenes) then
raise Exception.Create('No hay ningún Almacen asignado');
Almacenes.DataTable.Active := True;
ViewGrid.GotoFirst;
end;
function TfEditorAlmacenes.GetAlmacenes: IBizAlmacen;
begin
Result := FAlmacenes;
end;
function TfEditorAlmacenes.GetController: IAlmacenesController;
begin
Result := FController;
end;
procedure TfEditorAlmacenes.ModificarInterno;
begin
inherited;
FController.Ver(Almacenes);
end;
procedure TfEditorAlmacenes.NuevoInterno;
begin
inherited;
FController.Anadir(Almacenes);
FController.Ver(Almacenes);
end;
procedure TfEditorAlmacenes.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
begin
FTitulo := 'Lista de almacenes - ' + AppFactuGES.EmpresaActiva.NOMBRE;
inherited PonerTitulos(FTitulo);
end;
procedure TfEditorAlmacenes.SetAlmacenes(const Value: IBizAlmacen);
begin
FAlmacenes := Value;
dsDataTable.DataTable := FAlmacenes.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewAlmacenes).Almacenes := Almacenes;
end;
procedure TfEditorAlmacenes.SetController(const Value: IAlmacenesController);
begin
FController := Value;
end;
destructor TfEditorAlmacenes.Destroy;
begin
FAlmacenes := NIL;
inherited;
end;
procedure TfEditorAlmacenes.DuplicarInterno;
var
AAlmacen : IBizAlmacen;
begin
AppFactuGES.ShowCapado;
{
inherited;
AAlmacen := FController.Duplicar(Almacenes);
try
FController.Ver(AAlmacen);
finally
actRefrescar.Execute;
end;
}
end;
procedure TfEditorAlmacenes.EliminarInterno;
begin
if (Application.MessageBox('¿Desea borrar este almacén?', 'Atención', MB_YESNO) = IDYES) then
begin
inherited;
//Para que en el caso de no poderse realizar la operación se refresquen
//los datos y no nos permita eliminar un registro a la segunda
if not FController.Eliminar(Almacenes) then
actRefrescar.Execute;
end;
end;
constructor TfEditorAlmacenes.Create(AOwner: TComponent);
begin
inherited;
ViewGrid := frViewAlmacenes1; //CreateView(TfrViewAlmacenes) as IViewAlmacenes;
end;
end.