Bedankt voor je reactie.
Ik heb hier voor me het boek "Programming SQL Server 2005" liggen uit de MS Press reeks.
Het stuk notification services daarin is eerder beperkt. Verder heb ik oa op MSDN Technet al gezocht, maar ook daar m'n antwoord niet kunnen vinden.
Misschien dat het ook helemaal niet kan wat ik wil, dus dat is ook mijn vraag een beetje
Ik heb een applicatie waarin werknemers zitten, en elke werknemer valt onder een bepaalde branche die op zijn beurt weer gemanaged wordt door een branch manager.
In mijn applicatie kunnen werknemers een aanvraag indienen. Wanneer ze dit doen moeten ze zelf een melding krijgen via email (ter bevestiging van hun aanvraag), en de branch manager moet een melding krijgen via email dat er een nieuwe aanvraag is geplaatst met een link naar de pagina om deze aanvraag te behandelen. Dus er moeten 2 verschillende mails verstuurd worden naar 2 verschillende mensen, op basis van hetzelfde event (nl het plaatsen van een nieuwe aanvraag).
Wat ik nu heb is een provider die de records ophaalt die dat event gaan triggereren.
Ik heb 1 event class gedefinieerd voor deze records.
Ik heb 1 subscription class gedefinieerd die 3 event rules heeft. 2 event rules gaan telkens een notification wegschrijven (insert statement), de 3de past de status van het record aan (zodat het event maar 1 keer afgevuurd wordt).
Ik heb bijgevolg 2 notification classes gedefineerd, eentje voor de werknemer en eentje voor de branch manager. De eerste stuurt dus de mail naar de werknemer, de andere naar de branch manager.
So far so good, dit werkt op zich ook als ik het to address voor de emails vast zet (dan krijg ik de mail dus 2x aan).
Nu wanneer een werknemer de applicatie voor de eerste keer opent dan ga ik de subscription aanmaken voor die aanvragen. Daarbij maak ik gebruik van een SubscriberDevice in C#. Daar stel ik de SubscriberID gelijk aan de werknemer ID, en DeviceAddress stel ik gelijk aan het emailadres van de werknemer.
Op die manier kan ik voor de email naar de werknemer in de notificationclass volgende code gebruiken voor het TO veld:
<Field>
<FieldName>To</FieldName>
<SqlExpression>DeviceAddress</SqlExpression>
</Field>
Dat werkt ook zonder problemen, de email komt aan op het emailadres van de werkgever.
Blijft er dus nog 1 zaak over, en dat is het emailadres van de branch manager.
Aangezien er SqlExperssion stond, ging ik er vanuit dat ik wel een sql query kon opgeven daar. En adhv een sql query kan ik zoeken welke branchmanager er bij een gegeven werknemersid hoort, en wat dan zijn emailadres is. Echter als ik dat probeer krijg ik een error bij het uitvoeren van de update van de config voor de Notification Services instance. Met name op die query die ik er dan inzet. Beetje kijken leert ook dat dat klopt, want hij wil die select query om dat emailadres op te halen plaatsen als veld in een andere select.
Mijn vraag nu: is er een manier om als TO veld een select query uit te voeren, of moet je dit dan via een custom field gaan definieren bij het creeren van de subscription ?