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.
Noviseda_FactuGES2/Source/Modulos/Inventario/Controller/uArticulosInventarioController.pas

79 lines
2.4 KiB
ObjectPascal

unit uArticulosInventarioController;
interface
uses
uDADataTable, uArticulosController, uBizArticulos, uBizInventario;
type
IArticulosInventarioController = interface(IArticulosController)
['{33B26E09-ABE8-45A4-B9B3-E0E48F8EBB3E}']
procedure ModificarCantidadColores(ADetalles: IDAStronglyTypedDataTable);
end;
TArticulosInventarioController = class(TArticulosController, IArticulosInventarioController)
public
function ElegirArticulos(AArticulos : IBizArticulo; AMensaje: String; AMultiSelect: Boolean): IBizArticulo; override;
procedure ModificarCantidadColores(ADetalles: IDAStronglyTypedDataTable);
end;
implementation
{ TArticulosInventarioController }
uses Controls, cxControls, uIEditorElegirArticulosCatalogo, uEditorColores;
function TArticulosInventarioController.ElegirArticulos(AArticulos: IBizArticulo; AMensaje: String;
AMultiSelect: Boolean): IBizArticulo;
var
AEditor : IEditorElegirArticulosCatalogo;
begin
Result := NIL;
CreateEditor('EditorElegirArticulosCatalogo', IEditorElegirArticulosCatalogo, AEditor);
if Assigned(AEditor) then
try
AEditor.Controller := Self;
AEditor.Articulos := AArticulos;
AEditor.MultiSelect := AMultiSelect;
if IsPositiveResult(AEditor.ShowModal) then
Result := AEditor.ArticulosSeleccionados;
finally
AEditor.Release;
AEditor := NIL;
end;
end;
procedure TArticulosInventarioController.ModificarCantidadColores(ADetalles: IDAStronglyTypedDataTable);
var
ADetallesAux: IBizInventario;
begin
if Assigned(ADetalles) then
begin
ADetallesAux := (ADetalles as IBizInventario);
with TfEditorColores.Create(NIL) do
try
dsDataTable.DataTable := ADetallesAux.DetalleColores.DataTable;
Referencia := ADetallesAux.REFERENCIA;
Descripcion := ADetallesAux.DESCRIPCION;
if (ShowModal = mrOK) then
begin
if ADetallesAux.DetalleColores.DataTable.Editing then
ADetallesAux.DetalleColores.DataTable.Post;
if not ADetallesAux.DataTable.Editing then
ADetallesAux.DataTable.Edit;
ADetallesAux.CANTIDAD := Total;
if ADetallesAux.DataTable.Editing then
ADetallesAux.DataTable.post;
end
else
ADetallesAux.DetalleColores.DataTable.Cancel;
finally
Release;
end;
end;
end;
end.