We must modify configuration of the service to use new generator and receiver. Follow this steps :
- Add a new item named 'LeCouteauSuisse.exe.config' of type 'General' - 'Application Configuration File' in your project. Change property 'Copy to Output Directory' with value 'Copy Always'.
- Copy contents of configuration file of the stage 1.
- Remove generators MachineAlertCoffee, MachineAlertChocolat and MachineAlertTea.
- Remove receiver SendOrder.
- Add generator MachineAlert using MachineAlertGenerator class :
<service name="CoffeeSupplyChain">
<generators>
<generator name="MachineAlert" type="CoffeeSupplyChainLibrary.MachineAlertGenerator, CoffeeSupplyChainLibrary,
Version=1.0.0.0, Culture=neutral">
</generator>
...
</generators>
<groups>
...
</groups>
</service>
- Change SendAlert receiver to use specific information. bodyFormat and bodyArguments use specific information on alert to give more information in mail body. Change the value of attribute subscribe to "MachineAlert".
<service name="CoffeeSupplyChain">
<generators>
...
</generators>
<groups>
<group name="MachineGroup" subscribe="MachineAlertCoffee,MachineAlertChocolat,MachineAlertTea">
<receiver name="SendAlert" type="LeCouteauSuisse.Components.MailReceiver, LeCouteauSuisseComponents,
Version=1.0.0.2, Culture=neutral, PublicKeyToken=8d1037c5df6d5bd0"
threading="MonoThread">
<settings>
...
<setting key="bodyFormat" value="There is a lake on machine {4} located at {3}. You must add {2} new {1}." />
<setting key="bodyArguments" value="Product,Quantity,Localisation,Kind"/>
...
</settings>
</receiver>
</group>
</groups>
</service>
- Add receiver of type OrderReceiver in group SupplierGroup.
<service name="CoffeeSupplyChain">
<generators>
...
</generators>
<groups>
<group name="SupplierGroup" subscribe="OrdersGenerator">
<receiver name="SendOrder" type="CoffeeSupplyChainLibrary.OrderReceiver, CoffeeSupplyChainLibrary,
Version=1.0.0.0, Culture=neutral"
threading="MonoThread">
<settings>
<setting key="smtpServer" value="your smtp server"/>
<setting key="smtpPort" value="25"/>
<setting key="toFormat" value="{1}"/>
<setting key="toArguments" value="Data"/>
<setting key="fromFormat" value="your email address"/>
<setting key="fromArguments" value=""/>
<setting key="subjectFormat" value="Order"/>
<setting key="subjectArguments" value=""/>
<setting key="xslBodyTransformation" value="C:\CoffeeSupplyChain\Order.xslt" />
</settings>
</receiver>
</group>
</groups>
</service>
- Replace "your smtp server" with the name of a SMTP server.
- Replace "your email address" with an email address.
- Copy the file Order.xslt in the C:\CoffeeSupplyChain directory :