git-svn-id: https://192.168.0.254/svn/Proyectos.Noviseda_FactuGES2/trunk@108 f33bb606-9f5c-448d-9c99-757f00063c96
79 lines
2.4 KiB
ObjectPascal
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.
|