Ivan... Boa Tarde...Necessito de seu auxílio.
Como utilizar o BO para controlar processamento em tabelas estrangeiras? Por exemplo: A adição/alteração/exclusão de um registro na tabela "C" afetará o campo "Contador" na tabela "A". Um caso típico é a inclusão/alteração/exclusão de um item em um lote de saída com atualização dinâmica do saldo de estoque na tabela produto.
Situações possíveis:
a) Inclusão de item de saída em um lote subtrai a qtde do saldo da tabela produto a partir do relacionamento "ItensSaida.IdProduto <-> TbProduto.IdProduto".
b) Exclusão do registro de item de saída, adiciona (devolve) a qtde ao saldo da tabela produto, considerando o mesmo relacionamento.
c) Alterações no item de saída provocariam duas operações: 1) Adiciona(devolve) a 'qtde original' ao saldo da tabela produto, considerando o 'IdProduto original' e subtrai a 'qtde atual' da tabela produto tomando como chave o 'IdProduto atual' (que poderá ou não ter sido alterado).
Enfim... Pensei em montar isso diretamente na classe do BO levando em consideração os eventos AfterSave, BeforeSave, etc. No entanto, como o BO pode salvar várias 'rows' ao mesmo tempo não estou conseguindo encontrar a maneira de implementar essa regra diretamente na classe. Na verdade estou tentando aí substituir eventos de 'disparador' que normalmente configuro no SQL Server. Acredito que no BO eu teria mais controle, caso necessitasse alterar a regra e criar outras condições de análise (até porque o DDT do StrataFrame ainda não oferece recursos para configuração de Triggers 'disparadores').
Bom, você que já tem uma vasta experiência com a ferramenta, poderia me ajudar a 'poupar o tempo' de pesquisa ?!!!
Abraços...