Esempio n. 1
0
        public IActionResult AddEvent(AddEventTagViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                int eventId = viewModel.EventId;
                int tagId   = viewModel.TagId;

                List <EventTag> existingItems = context.EventTags
                                                .Where(et => et.EventId == eventId)
                                                .Where(et => et.TagId == tagId)
                                                .ToList();

                if (existingItems.Count == 0)
                {
                    EventTag eventTag = new EventTag
                    {
                        EventId = eventId,
                        TagId   = tagId
                    };

                    context.EventTags.Add(eventTag);
                    context.SaveChanges();
                }

                return(Redirect("/Events/Detail/" + eventId));
            }

            return(View(viewModel));
        }
Esempio n. 2
0
        public void ShouldProcessOnlyGivenEventTags()
        {
            var eventTag_1  = new EventTag("event-one");
            var eventTag_2  = new EventTag("event-two");
            var eventTag_3  = new EventTag("event-three");
            var eventTags   = new EventTag[] { eventTag_1, eventTag_2, eventTag_3 };
            var channel     = new Channel();
            var broadcaster = new Broadcaster(channel, eventTags, "the-broadcaster");
            var signaller   = new Signaller(channel: channel, owner: this);
            var signal_1    = new Signal(signaller, eventTag_1, null);
            var signal_2    = new Signal(signaller, eventTag_2, null);
            var signal_3    = new Signal(signaller, eventTag_3, null);

            var observedSignals = new List <String> ();
            var watcher         = new Watcher(onSignal: (ISignal signal) => {
                observedSignals.Add(signal.EventTag.Name);
            });

            watcher.Watch(broadcaster, new IEventTag[] { eventTag_1, eventTag_3 });

            channel.Emit(signal_1);              // yes
            channel.Emit(signal_2);              // no
            channel.Emit(signal_1);              // yes
            channel.Emit(signal_3);              // yes
            channel.Emit(signal_2);              // no

            Assert.AreEqual(3, observedSignals.Count);
            Assert.Contains(signal_1.EventTag.Name, observedSignals);
        }
Esempio n. 3
0
        public static void Main()
        {
            EventCenter eventCenter = EventCenter.Instance;
            EventTag    testTag1    = new EventTag();
            EventTag    testTag2    = new EventTag();

            //注册
            eventCenter.RegisterEventWithNoPara(EventSignalEnum.Default, testTag1, test0);
            eventCenter.RegisterEventWithPara1 <int>(EventSignalEnum.Default, testTag1, test1);
            eventCenter.RegisterEventWithPara1 <string>(EventSignalEnum.Default, testTag1, test11);
            eventCenter.RegisterEventWithPara2 <float, float>(EventSignalEnum.Default, testTag1, test2);
            eventCenter.RegisterEventWithParaS <string>(EventSignalEnum.Default, testTag1, test3);
            eventCenter.RegisterEventWithParaS <string>(EventSignalEnum.Test, testTag2, test3);

            //发送信号
            eventCenter.SendSignalWithNoPara(EventSignalEnum.Default);
            eventCenter.SendSignalWithPara1(EventSignalEnum.Default, 1);
            eventCenter.SendSignalWithPara1(EventSignalEnum.Default, "test11");
            eventCenter.SendSignalWithPara2(EventSignalEnum.Default, 2f, 3f);
            eventCenter.SendSignalWithParaS(EventSignalEnum.Default, "testTag1");
            eventCenter.SendSignalWithParaS(EventSignalEnum.Test, "This is ", "testTag2");

            //取消注册
            eventCenter.RemoveEvent(testTag1);
            //测试
            eventCenter.SendSignalWithParaS(EventSignalEnum.Default, "testTag1");
            eventCenter.SendSignalWithParaS(EventSignalEnum.Test, "This is ", "testTag2");

            //取消注册
            eventCenter.RemoveEvent(testTag2);
            //测试
            eventCenter.SendSignalWithParaS(EventSignalEnum.Default, "testTag1");
            eventCenter.SendSignalWithParaS(EventSignalEnum.Test, "This is ", "testTag2");
        }
Esempio n. 4
0
        public IActionResult OnPostSubmitEvent()
        {
            if (EventName == null || Category == null || StartDate == null || StartTime == null || EndDate == null || EndTime == null)
            {
            }
            else
            {
                DateTime test = DateTime.Now + new TimeSpan(1, 0, 0);
                if (EndDate + EndTime.TimeOfDay >= StartDate + StartTime.TimeOfDay)
                {
                    Event e = new Event();
                    e.Capacity   = Capacity;
                    e.EndTime    = EndDate + EndTime.TimeOfDay;
                    e.StartTime  = StartDate + StartTime.TimeOfDay;
                    e.Latitude   = Latitude;
                    e.Longitude  = Longitude;
                    e.EventName  = EventName;
                    e.EventGenre = Category;
                    e.EventTags  = new List <EventTag>();
                    e.UserID     = 5;
                    foreach (string s in Tags.Split(","))
                    {
                        EventTag t = new EventTag();
                        t.TagName = s.Trim();
                        e.EventTags.Add(t);
                        _context.EventTag.Add(t);
                    }

                    _context.Event.Add(e);
                    _context.SaveChanges();
                }
            }

            return(Page());
        }
Esempio n. 5
0
        private void jumpToPrimitiveMenuItem_Click(object sender, EventArgs e)
        {
            if (events.SelectedNode == null)
            {
                return;
            }

            var node = events.SelectedNode;

            if (node.Tag is EventTag)
            {
                EventTag tag = (EventTag)node.Tag;

                m_Core.SetEventID(this, tag.EID);

                UInt32 vertIdx = m_Core.CurDrawcall.topology.GetVertexOffset(tag.Primitive);

                var viewer = m_Core.GetMeshViewer();
                viewer.Show(DockPanel);

                if (!viewer.IsDisposed && vertIdx != ~0U)
                {
                    viewer.RowOffset = (int)vertIdx;
                }
            }
        }
Esempio n. 6
0
        public IActionResult AddEvent(AddEventTagViewModel viewModel) // many to many
        {
            if (ModelState.IsValid)                                   // for post requests, to validate should have a tag id and event id
            {
                int eventId = viewModel.EventId;
                int tagId   = viewModel.TagId;


                List <EventTag> existingTags = context.EventTags
                                               .Where(et => et.EventId == eventId)
                                               .Where(et => et.TagId == tagId)
                                               .ToList();

                if (existingTags.Count == 0)
                {
                    EventTag eventTag = new EventTag
                    {
                        EventId = eventId,
                        TagId   = tagId
                    };

                    context.EventTags.Add(eventTag);
                    context.SaveChanges();
                }
                return(Redirect("/Events/Detail/" + eventId));
            }
            return(View(viewModel));
        }
        private async Task <List <EventTag> > _getUpdatedEventTagsAsync(List <EventTag> eventTags, int[] tagIds, int eventId)
        {
            List <EventTag> removableTags = new List <EventTag>();

            removableTags.AddRange(eventTags);

            foreach (var tagId in tagIds)
            {
                EventTag tag = eventTags.FirstOrDefault(x => x.TagId == tagId);

                if (tag != null)
                {
                    removableTags.Remove(tag);
                }
                else
                {
                    if (!await _context.Tags.AnyAsync(x => x.Id == tagId))
                    {
                        throw new Exception("Tag does not exist!");
                    }

                    tag = new EventTag
                    {
                        TagId   = tagId,
                        EventId = eventId
                    };

                    eventTags.Add(tag);
                }
            }

            eventTags = eventTags.Except(removableTags).ToList();

            return(eventTags);
        }
Esempio n. 8
0
        public void ShouldTheBroadcasterWhenWithTheMatchingName()
        {
            var eventTag = new EventTag("event-name");

            channel.AddEvent(eventTag);
            Assert.AreSame(channel.DefaultBroadcaster, channel.GetBroadcasterNamed("default-broadcaster"));
        }
Esempio n. 9
0
        private void events_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                debugToolStripMenuItem.Enabled = false;

                debugToolStripMenuItem.Text = "Debug Pixel";

                if (events.SelectedNode != null && events.SelectedNode.Tag != null && events.SelectedNode.Tag is EventTag)
                {
                    EventTag tag = (EventTag)events.SelectedNode.Tag;
                    debugToolStripMenuItem.Enabled = true;
                    if (tag.Primitive == uint.MaxValue)
                    {
                        debugToolStripMenuItem.Text = String.Format("Debug Pixel ({0}, {1}) at Event {3}",
                                                                    pixel.X, pixel.Y, tag.Primitive, tag.EID);
                    }
                    else
                    {
                        debugToolStripMenuItem.Text = String.Format("Debug Pixel ({0}, {1}) primitive {2} at Event {3}",
                                                                    pixel.X, pixel.Y, tag.Primitive, tag.EID);
                    }
                }

                rightclickMenu.Show(events.PointToScreen(e.Location));
            }
        }
Esempio n. 10
0
        /// <summary>
        /// Updates an existing event tag.
        /// Documentation https://developers.google.com/dfareporting/v2.6/reference/eventTags/update
        /// Generation Note: This does not always build corectly.  Google needs to standardise things I need to figuer out which ones are wrong.
        /// </summary>
        /// <param name="service">Authenticated dfareporting service.</param>
        /// <param name="profileId">User profile ID associated with this request.</param>
        /// <param name="body">A valid dfareporting v2.6 body.</param>
        /// <returns>EventTagResponse</returns>
        public static EventTag Update(dfareportingService service, string profileId, EventTag body)
        {
            try
            {
                // Initial validation.
                if (service == null)
                {
                    throw new ArgumentNullException("service");
                }
                if (body == null)
                {
                    throw new ArgumentNullException("body");
                }
                if (profileId == null)
                {
                    throw new ArgumentNullException(profileId);
                }

                // Make the request.
                return(service.EventTags.Update(body, profileId).Execute());
            }
            catch (Exception ex)
            {
                throw new Exception("Request EventTags.Update failed.", ex);
            }
        }
Esempio n. 11
0
        /// <summary>
        /// Gets all event data/types that match the inputed tag
        /// </summary>
        public static List <EventData> GetEventDataListByTag(EventTag tag, string filePath)
        {
            //get all event data/types
            var eventDataList = DatabaseManager.GetEventDataList(filePath);

            return(GetEventDataListByTag(tag, eventDataList));
        }
Esempio n. 12
0
        public void ShouldReturnTheBroadcasterForTheEventTagMatchingTheName()
        {
            var eventTag = new EventTag("AnEvent");

            channel.AddEvent(eventTag);
            Assert.AreSame(channel.DefaultBroadcaster, channel.GetBroadcasterFor(eventTag.Name));
        }
Esempio n. 13
0
        public void ShouldReturnTheFoundEventTag()
        {
            var name = "SomeTag";
            var tag  = new EventTag(name);

            channel.AddEvent(tag);
            Assert.AreSame(tag, channel.GetEventTag(name));
        }
Esempio n. 14
0
        public void ShouldReturnTheTruthfullnessOfGivenNamedBroadcasterInRegistry()
        {
            Assert.IsFalse(channel.HasNamedBroadcaster("default-broadcaster"));
            var eventTag = new EventTag("event-name");

            channel.AddEvent(eventTag);
            Assert.IsTrue(channel.HasNamedBroadcaster("default-broadcaster"));
        }
Esempio n. 15
0
        public EventTag Read(int id)
        {
            EventTag result = null;

            if (datacontext.EventTags.Where(w => w.EventId == id).Any())
            {
                result = datacontext.EventTags.Where(w => w.EventId == id).FirstOrDefault();
            }
            return(result);
        }
Esempio n. 16
0
        public void ShouldReturnSignalWithCorrectProperties()
        {
            var evenTag   = new EventTag("some-event");
            var message   = new Message(body: "Hello");
            var signaller = new Signaller();
            var signal    = signaller.CreateSignal(evenTag, message);

            Assert.AreSame(evenTag, signal.EventTag);
            Assert.AreSame(message, signal.Message);
        }
    private void Start()
    {
        GlobalObject     globalObject = GlobalObject.Instance;
        OnMessageHandler handler      = globalObject.MessageHandler;

        data = new ServerStatus();

        EventTag <ServerStatus> e = (EventTag <ServerStatus>)handler.SignTag("status", typeof(ServerStatus));

        e.Event += WriteState;
    }
Esempio n. 18
0
        public bool Delete(EventTag model)
        {
            bool status = false;

            if (datacontext.EventTags.Where(w => w.EventId == model.EventId && w.TagId == model.TagId).Any())
            {
                datacontext.EventTags.Remove(model);
                datacontext.SaveChanges();
                status = true;
            }
            return(status);
        }
Esempio n. 19
0
        public bool Delete(int id)
        {
            bool     status = false;
            EventTag model  = datacontext.EventTags.Where(w => w.EventId == id).FirstOrDefault();

            if (model != null)
            {
                datacontext.EventTags.Remove(model);
                datacontext.SaveChanges();
                status = true;
            }
            return(status);
        }
Esempio n. 20
0
        public void ShouldRegisterBroadcasterEventTagsOnSubscription()
        {
            var eventTags = new EventTag[] {
                new EventTag("event-one"),
                new EventTag("event-two"),
            };

            new Broadcaster(channel: channel, eventTags: eventTags);
            foreach (IEventTag tag in eventTags)
            {
                Assert.IsTrue(channel.HasEventTag(tag));
            }
        }
Esempio n. 21
0
        public void ShouldAnwerPositiveToASignalWithARegisteredEventTag()
        {
            var tag       = new EventTag("some-event");
            var signaller = new Signaller(owner: this, channel: channel);

            channel.AddEvent(tag);
            var signal = signaller.CreateSignal(
                eventTag: tag,
                message: EmptyMessage.Instance
                );

            Assert.IsTrue(channel.IsEmittable(signal));
        }
Esempio n. 22
0
        public void ShouldPairEventTagsToChannelDefaultBroadcaster()
        {
            var eventTag = new EventTag("PAIRED_TO_CHANNEL_DEFAUL_BROADCASTER");

            channel.AddEvent(eventTag);
            Assert.IsNotEmpty(registry);
            Assert.IsTrue(channel.HasEventTag(eventTag));
            IBroadcaster broadcaster = null;

            channel.Registry.TryGetValue(eventTag, out broadcaster);
            Assert.IsNotNull(broadcaster);
            Assert.AreSame(channel.DefaultBroadcaster, broadcaster);
        }
Esempio n. 23
0
        public void ShouldGiveACollectionWithItsEventTags()
        {
            var eventTags = new EventTag[] { new EventTag("event-one"), new EventTag("event-two") };
            var name      = "some-name";
            var b         = new Broadcaster(
                name: name,
                channel: null,
                eventTags: eventTags
                );
            var collection = b.GetEventTags();

            Assert.IsNotEmpty(collection);
            Assert.Contains(eventTags [0], collection);
            Assert.Contains(eventTags [1], collection);
        }
Esempio n. 24
0
        public void ShouldGiveUsAnCollectionWithAllEventTags()
        {
            var count = 12;
            var tags  = new EventTag[count];

            for (int i = 0; i < count; i++)
            {
                var tag = new EventTag("EVENT-" + i);
                channel.AddEvent(tag);
                tags [i] = tag;
            }
            var collection = channel.GetAllEventTags();

            Assert.AreEqual(count, collection.Count);
        }
Esempio n. 25
0
        public void UpdateTagSelected(int idTag)
        {
            if (EventTag != null && GetTag(idTag) == null)
            {
                return;
            }

            if (EventTag != null)
            {
                foreach (var item in EventTag)
                {
                    if (!item.Tag.Contains(KeyAll) && item.SelectedTag)
                    {
                        var data = GetTag(idTag);
                        if (data.Tag.Contains(KeyAll))
                        {
                            return;
                        }
                    }
                    else if (EventTag.FirstOrDefault(x => x.Tag.Contains(KeyAll)).SelectedTag)
                    {
                        if (!EventTag.Any(x => x.Tag.Contains(KeyAll) && x.SelectedTag))
                        {
                            return;
                        }

                        var data = GetTag(idTag);
                        if (!data.Tag.Contains(KeyAll))
                        {
                            return;
                        }
                    }
                }

                GetTag(idTag).SelectedTag = !GetTag(idTag).SelectedTag;

                ClearFilter();

                if (EventTag.Any(x => x.SelectedTag && x.Tag == KeyAll))
                {
                    FilterAddOriginal();
                    return;
                }
            }

            FilterSecondary();
            FilterMain();
        }
Esempio n. 26
0
 private void FilterMain()
 {
     foreach (var item in EventMainOriginal)
     {
         foreach (var itemTag in EventTag.Where(x => x.SelectedTag))
         {
             if (item.Tag.Contains(itemTag.Tag))
             {
                 if (!EventMainFilter.Any(x => x.Id == item.Id))
                 {
                     EventMainFilter.Add(item);
                 }
             }
         }
     }
 }
    void Start()
    {
        globalObject   = GlobalObject.Instance;
        messageHandler = globalObject.MessageHandler;

        EventTag <string> logoutResponse = (EventTag <string>)messageHandler.SignTag("logout/response", typeof(string));

        logoutResponse.Event += (sender, message) =>
        {
            Debug.Log("logout -> " + message.message);
        };

        Button button = GetComponent <Button>();

        button.onClick.AddListener(OnClick);
    }
Esempio n. 28
0
        public void ShouldInformUsIfItOrNotWatchingAllBroadcasterTags()
        {
            var eventTag_1   = new EventTag("event-one");
            var eventTag_2   = new EventTag("event-two");
            var eventTag_3   = new EventTag("event-three");
            var allEventTags = new EventTag[] { eventTag_1, eventTag_2, eventTag_3 };
            var channel      = new Channel();
            var broadcaster  = new Broadcaster(channel, allEventTags, "the-broadcaster");
            var watcher      = new Watcher(onSignal: (ISignal signal) => {});

            watcher.Watch(broadcaster, new IEventTag[] { eventTag_1, eventTag_3 });

            Assert.IsFalse(watcher.IsWatchingAll(broadcaster));
            watcher.Watch(broadcaster, allEventTags);
            Assert.IsTrue(watcher.IsWatchingAll(broadcaster));
        }
Esempio n. 29
0
        public void ShouldStopObservingAllBroadcasters()
        {
            var eventTag_1 = new EventTag("event-one");
            var eventTag_2 = new EventTag("event-two");
            var eventTag_3 = new EventTag("event-three");

            var channel = new Channel("channel-one");

            var broadcaster_1 = new Broadcaster(channel, new IEventTag[] { eventTag_1 }, "b-1");
            var broadcaster_2 = new Broadcaster(channel, new IEventTag[] { eventTag_2 }, "b-2");
            var broadcaster_3 = new Broadcaster(channel, new IEventTag[] { eventTag_3 }, "tb-3");

            var signaller_1 = new Signaller(channel: channel, owner: this);
            var signal_1    = new Signal(signaller_1, eventTag_1, null);
            var signal_2    = new Signal(signaller_1, eventTag_2, null);
            var signal_3    = new Signal(signaller_1, eventTag_3, null);

            var observedSignals = new List <String> ();
            var watcher         = new Watcher(onSignal: (ISignal signal) => {
                observedSignals.Add(signal.EventTag.Name);
            });

            watcher.WatchAll(broadcaster_1);
            watcher.WatchAll(broadcaster_2);
            watcher.WatchAll(broadcaster_3);

            channel.Emit(signal_1);
            channel.Emit(signal_2);
            channel.Emit(signal_3);

            Assert.AreEqual(3, observedSignals.Count);

            watcher.Stop();

            observedSignals.Clear();

            channel.Emit(signal_1);
            channel.Emit(signal_2);
            channel.Emit(signal_3);

            Assert.IsEmpty(observedSignals);

            watcher.WatchAll(broadcaster_1);
            channel.Emit(signal_1);
            channel.Emit(signal_2);
            Assert.AreEqual(1, observedSignals.Count);
        }
Esempio n. 30
0
        private void AddTag(IEnumerable <Models.DTO.Event.EventModel> objSucces)
        {
            EventTag.Clear();

            dynamic groupTag = objSucces.Select(x => new { Tag = x.Tag.Split(',') });

            var tag = new List <EventModel>();

            var i = 0;

            foreach (var item in groupTag)
            {
                foreach (var items in item.Tag)
                {
                    i++;
                    if (!tag.Exists(x => x.Tag == items))
                    {
                        tag.Add(new EventModel {
                            Id = i, Tag = items, ColorTag = ColorHelper.GetColorRandom()
                        });
                    }
                }
            }

            if (!tag.Exists(x => x.Tag == KeyAll))
            {
                var incriment = tag.LastOrDefault();

                tag.Add(new EventModel {
                    Id = incriment == null ? 0 : incriment.Id++, Tag = KeyAll, ColorTag = ColorHelper.GetColorRandom()
                });
            }

            foreach (var item in tag)
            {
                EventTag.Add(item.Tag.Contains(KeyAll)
                    ? new EventModel {
                    Id = item.Id, Tag = item.Tag, ColorTag = item.ColorTag, SelectedTag = true
                }
                    : new EventModel {
                    Id = item.Id, Tag = item.Tag, ColorTag = item.ColorTag
                });
            }

            EventTag.MoveModelFirstPosition(KeyAll);
        }
Esempio n. 31
0
        /// Last Modified: 10/10/09
        /// <summary>
        /// Initializes the packet.
        /// </summary>
        /// -----------------------------------------------------
        /// PRECONDITIONS: Review the parameters statement.
        /// -----------------------------------------------------
        /// Parameters:
        /// <param name="tag">
        /// Contains the protocol tag of the packet.
        /// </param>
        /// <param name="Src">
        /// The name of the source host.
        /// </param>
        /// <param name="Dest">
        /// The name of the destination host.
        /// </param>
        /// <param name="sMsg">
        /// Contains the message of the packet.
        /// </param>
        /// <param name="lLogicalTime">
        /// Contains the current logical time for the host.
        /// </param>
        /// -----------------------------------------------------
        /// POSTCONDITIONS: NA -- No postconditions exist.
        /// -----------------------------------------------------
        /// Return Value:
        public Packet(EventTag tag,
            string Src,
            string Dest, 
            string sMsg,
            long lLogicalTime)
        {
            //Initialize the properties.
            Tag = tag;
            CreationDate = DateTime.Now;
            Msg = sMsg;
            LogicalTime = lLogicalTime;

            SourceName = Src;
            DestinationName = Dest;

            //Generate the packet id.
            m_lPacketId = Math.Abs(DateTime.Now.GetHashCode());
        }
    /// <summary>
    /// Run the code example.
    /// </summary>
    /// <param name="service">An initialized Dfa Reporting service object
    /// </param>
    public override void Run(DfareportingService service) {
      long campaignId = long.Parse(_T("INSERT_CAMPAIGN_ID_HERE"));
      long profileId = long.Parse(_T("INSERT_USER_PROFILE_ID_HERE"));

      String eventTagName = _T("INSERT_EVENT_TAG_NAME_HERE");
      String eventTagUrl = _T("INSERT_EVENT_TAG_URL_HERE");

      // Create the event tag structure.
      EventTag eventTag = new EventTag();
      eventTag.CampaignId = campaignId;
      eventTag.Name = eventTagName;
      eventTag.Status = "ENABLED";
      eventTag.Type = "CLICK_THROUGH_EVENT_TAG";
      eventTag.Url = eventTagUrl;

      // Insert the campaign.
      EventTag result = service.EventTags.Insert(eventTag, profileId).Execute();

      // Display the new campaign ID.
      Console.WriteLine("Event Tag with ID {0} was created.", result.Id);
    }
Esempio n. 33
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MMLEvent"/> class.
 /// </summary>
 /// <param name="eventType">The type of event.</param>
 protected MMLEvent(EventTag eventType)
 {
     this.Tag = eventType;
 }
Esempio n. 34
0
        /// Last Modified: 10/25/10
        /// <summary>
        /// Decodes the XML String into an object instance
        ///  of this class.
        /// </summary>
        /// -----------------------------------------------------
        /// PRECONDITIONS: Review the parameters statement.
        /// -----------------------------------------------------
        /// Parameters:
        /// <param name="sXML">
        /// A string that contains the XML data.
        /// </param>
        /// -----------------------------------------------------
        /// POSTCONDITIONS: NA -- No postconditions exist.
        /// -----------------------------------------------------
        /// Return Value:
        public override void ToObject(string sXML)
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.LoadXml(sXML);

            XmlElement eRoot = (XmlElement)xmlDoc.GetElementsByTagName("PACKET").Item(0);
            CreationDate = Convert.ToDateTime(eRoot.GetAttribute("REALTIME"));
            m_lPacketId = Convert.ToInt64(eRoot.GetAttribute("ID"));
            LogicalTime = Convert.ToInt64(eRoot.GetAttribute("LOGICALTIME"));
            SourceName = eRoot.GetAttribute("SRC");
            DestinationName = eRoot.GetAttribute("DEST");

            XmlElement eTag = (XmlElement)eRoot.GetElementsByTagName("TAG").Item(0);
            Tag = (EventTag)Enum.Parse(typeof(EventTag), eTag.InnerText, true);

            XmlElement eMsg = (XmlElement)eRoot.GetElementsByTagName("MESSAGE").Item(0);

            //Transform all HTML tags.
            Msg = eMsg.InnerXml.Replace("&amp;", "&").Replace("&lt;", "<").Replace("&gt;", ">");
            //Msg = transformedMsg.Replace("&quot;", "\"").Replace("&apos;", "'");
        }