Como posso recuperar as mensagens enviadas pela SqlSever nos BO SF?.
Como exemplo tenho um cadastro de estados e outro de municípios. Vamos imaginar que temos vários estados e municípios cadastrados. Agora vamos imaginar que o usuário vai no cadastro de estados e exclui um estado que contém alguns municípios cadastrados. Obviamente teremos uma violação de chave e o SqlServer vai enviar uma mensagem default. Como que o SF intercepta a mensagem?
Nos BO's ou para evitar a melhor forma seria fazer uma consulta no evento BeforeDelete do BO?
Preciso interceptar nesse instante o mostrar ao usuário uma mensagem criada "Messaging Project".
Valeu, Abraços.
Você tem basicamente duas opções:
Opção 1
Esta lógica deveria na verdade ser parte de sua lógica de exclusão antes deste registro ser deletado. Crie um "scalar method" (veja no help sobre Scalar) para se certificar de que não há registros nas tabelas relacionadas antes da deleção. Se há registros filhos que deveriam ser removidos primeiramente, você pode então até mostrar o número de registros que retornar do "scalar method" numa mensagem criada por você. Isto deveria ser parte da lógica de sua aplicação.
Opção 2
Não recomendada, mas você poderia lidar com a exceção e mostrar uma mensagem de erro em vez disto.
grato.
Abraços.