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.