domingo, junho 12, 2005

Malta, eu sei que já é um "bocadito tarde" :P para esta, mas só agora é q se me deparou este problema e ninguém me lembrou/avisou/alertou/etc para este:

É assim, vocês qdo chamam um serviço normalmente devolvem um ObjectContainer, para poderem trabalhar com os objectos "desligados" da BD. Ora, o problema está em se vocês querem adicionar novos objectos à BD (ou quiserem mudar dados) ... Adicionam-nos ao ObjectContainer; e o que acontece a seguir?
Se não fizerem o "playback" do ObjectContainer para a BD, acabam por perder essas mudanças/adições. Portanto, é assim: eu vou agora fazer um serviço (ServicoGuardarObjectos) que vai receber um ObjectContainer (ao qual vocês adicionam objectos, removem objectos, alteram dados dos objectos, etc) e vai desbobinar o ObjCont para a BD. Vocês só têm que, no fim de cada WebForm/interacção/qq coisa que possa alterar esse ObjCont, chamar esse serviço.
Um exemplo disto é a criação de Operações (na Gestão de Obras). No caso de uso VisualizarOperações, não é preciso chamar esse serviço no fim da interacção, pq nada mudou no ObjCont de certeza. No caso de uso RealizarOperações, é preciso chamar esse serviço pq possivelmente temos novas operações adicionadas.

Se alguém não tiver percebido/tiver dúvidas, fale comigo.

JS