1: using System;
2: using System.Runtime.InteropServices;
3: using ADODB;
4: using InfiniTec.Exchange.Eventing;
5:
6: namespace TestSink
7: {
8: [ComVisible(true)]
9: [Guid("FD0D03A3-9FD2-432b-B331-E7C4D412827F")]
10: [ProgId("TestSink.TestSink")]
11: public class TestSink: SynchronousEventSink
12: {
13: protected override void OnItemCreating(EventInfo info, CreationMode creationMode)
14: {
15: // Do something of interest here - you have read/write access to the item
16: Record item = info.Item;
17:
18: // you can save an object here (it must be serializable) and reuse it during the OnItemCreated method
19: info.UserState = "test";
20:
21:
22: base.OnItemCreating(info, creationMode);
23: }
24:
25: protected override void OnItemCreated(EventInfo info, CreationMode creationMode)
26: {
27: base.OnItemCreated(info, creationMode);
28:
29: // Do something of interest here - the item is readonly now.
30:
31: // will be "test"
32: string s = (string) info.UserState;
33: }
34:
35:
36: protected override void OnItemDeleted(EventInfo info, DeletionMode deletionMode)
37: {
38: base.OnItemDeleted(info, deletionMode);
39: }
40:
41: protected override void OnItemUpdated(EventInfo info)
42: {
43: base.OnItemUpdated(info);
44: }
45:
46: protected override void OnErrorOccured(EventInfo eventInfo, Exception ex)
47: {
48: base.OnErrorOccured(eventInfo, ex);
49: }
50:
51: protected override void OnInitialize()
52: {
53: base.OnInitialize();
54: }
55:
56: protected override bool OnRegisteringEvent(EventInfo info)
57: {
58: return base.OnRegisteringEvent(info);
59: }
60:
61: protected override void OnItemCreationAborted(EventInfo info, CreationMode creationMode)
62: {
63: base.OnItemCreationAborted(info, creationMode);
64: }
65:
66: protected override void OnItemDeleting(EventInfo info, DeletionMode deletionMode)
67: {
68: base.OnItemDeleting(info, deletionMode);
69: }
70:
71: protected override void OnItemDeletionAborted(EventInfo info, DeletionMode deletionMode)
72: {
73: base.OnItemDeletionAborted(info, deletionMode);
74: }
75:
76: protected override void OnItemSilentlySaving(EventInfo info)
77: {
78: base.OnItemSilentlySaving(info);
79: }
80:
81: protected override void OnItemUpdateAborted(EventInfo info)
82: {
83: base.OnItemUpdateAborted(info);
84: }
85:
86: protected override void OnItemUpdating(EventInfo info)
87: {
88: base.OnItemUpdating(info);
89: }
90: }
91: }