Beispiel #1
0
 public void TestDeleteEvents()
 {
     EventHolder eventHolder = new EventHolder();
     eventHolder.AddEvent(new DateTime(2013, 04, 17, 18, 0, 0), "Football Game", "Stadium");
     eventHolder.DeleteEvents("Football Game");
     Assert.AreEqual(true, Messages.Output.EndsWith("1 events deleted" + Environment.NewLine));
 }
Beispiel #2
0
 public void DeleteEvent(EventHolder eventToDelete)
 {
     executeQuery("DELETE FROM Events WHERE eventId = " +
                 eventToDelete.eventId + " AND eventname = '" +
                 eventToDelete.name + "' AND levelId = " +
                 eventToDelete.levelId + ";");
 }
Beispiel #3
0
        public void RegisterAll(object instance)
        {
            var type = instance.GetType();

            foreach (var listenerMethod in type.GetMethods(ReflectUtil.STATIC_INSTANCE_FLAGS))
            {
                var eventHandlerAttrs = listenerMethod.GetCustomAttributes(typeof(SubscribeEvent), false);
                if (eventHandlerAttrs.Length == 0)
                {
                    continue;
                }

                var eventHandlerAttr = (SubscribeEvent)eventHandlerAttrs[0];
                var eventTarget      = eventHandlerAttr.DelegateOwner;
                var targetFieldName  = eventHandlerAttr.DelegateName;

                lock (_handlerMap) {
                    var holder = GetHolder(eventTarget, targetFieldName);

                    EventInfo       eventInfo;
                    List <Delegate> methodDelegates;

                    if (holder == null)
                    {
                        var eventTargetType = (Type)(eventTarget is Type
                            ? eventTarget
                            : eventTarget.GetType());

                        eventInfo = eventTargetType.GetEvent(targetFieldName);

                        holder = new EventHolder {
                            EventInfo = eventInfo,
                            Target    = eventTarget
                        };

                        methodDelegates = new List <Delegate>();
                    }
                    else
                    {
                        eventTarget = holder.Target;
                        eventInfo   = holder.EventInfo;

                        methodDelegates = _handlerMap[holder];
                    }

                    var methodDelegate = Delegate.CreateDelegate(
                        eventInfo.EventHandlerType,
                        instance,
                        listenerMethod
                        );

                    Debug.WriteLine($"Registered '{type}::{listenerMethod}'", "EventManager");

                    eventInfo.AddEventHandler(eventTarget, methodDelegate);

                    methodDelegates.Add(methodDelegate);
                    _handlerMap[holder] = methodDelegates;
                }
            }
        }
Beispiel #4
0
 public void TestDeleteEvents1()
 {
     EventHolder eventHolder = new EventHolder();
     eventHolder.AddEvent(new DateTime(2013, 6, 21, 11, 30, 0), "WPF", "Ultimate Hall");
     eventHolder.DeleteEvents("WPF");
     Assert.AreEqual(true, Messages.Output.EndsWith("1 event(s) deleted" + Environment.NewLine));
 }
Beispiel #5
0
        public void TestAddEvent()
        {
            EventHolder eventHolder = new EventHolder();
            eventHolder.AddEvent(new DateTime(2013, 06, 01, 21, 20, 0), "JS", "Telerik");

            Assert.AreEqual("Event added" + Environment.NewLine, Messages.Output);
        }
Beispiel #6
0
        public void TestAddEvent1()
        {
            EventHolder eventHolder = new EventHolder();
            eventHolder.AddEvent(new DateTime(2013, 4, 21, 11, 30, 0), "3D Graphics", "Ultimate Hall");

            Assert.AreEqual("Event added" + Environment.NewLine, eventHolder.Log);
        }
        protected bool QueueAndTriggerEvent(EventHolder eventHolder)
        {
            LogProfileEventDispatch("Start QueueAndTriggerEvent");

            bool      success = false;
            const int MAX_NUM_PENDING_MESSAGE_EVENTS = 10;

            Debug.Assert(mQueuedEvents.Count < MAX_NUM_PENDING_MESSAGE_EVENTS);

            //don't queue anymore if we are backed up with unhandled messages
            if (mQueuedEvents.Count < MAX_NUM_PENDING_MESSAGE_EVENTS)
            {
                lock (mQueuedEvents)
                {
                    mQueuedEvents.Enqueue(eventHolder);
                    success = true;
                }

                //trigger the message received event, or save the message for later if we are busy
                TriggerNextQueuedEvent();
            }

            LogProfileEventDispatch("End QueueAndTriggerEvent");

            return(success);
        }
Beispiel #8
0
        public IEnumerable <IEvent> GetAll()
        {
            var events     = new List <IEvent>();
            var path       = Path.Combine(_configuration.Path, "EventStore");
            var eventFiles = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories);

            foreach (var eventFile in eventFiles)
            {
                var json = File.ReadAllText(eventFile);

                var target = new EventHolder
                {
                    Type    = typeof(string),
                    Version = EventSourceVersion.Zero,
                    Event   = string.Empty
                };

                _serializer.FromJson(target, json);

                var @event = _serializer.FromJson(target.Type, target.Event) as IEvent;
                events.Add(@event);
            }

            return(events);
        }
Beispiel #9
0
        private void Restart()
        {
            CoreManager.Instance.ClearAllData();
            EventHolder <GameEventType> .Clear();

            SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
        }
Beispiel #10
0
    public void BindTest()
    {
        EventHolder holder  = new EventHolder();
        EventCall   call    = new EventCall();
        var         handle1 = call.Bind(holder);

        //イベント
        Assert.IsTrue(call.Message(TestEvent.Event1));
        Assert.AreEqual(holder.value, "event1");
        //型が違う
        Assert.IsFalse(call.Message(TestEvent.Event1, "test"));
        Assert.AreNotEqual(holder.value, "test");
        //イベントを発火
        Assert.IsTrue(call.Message(TestEvent.Event2, "event2"));
        Assert.AreEqual(holder.value, "event2");

        //再びバインドするため二回イベント呼ばれる
        call.Bind(holder);
        holder.value = "";
        Assert.IsTrue(call.Broadcast(TestEvent.Event3, 123));
        Assert.AreEqual(holder.value, "123123");

        //一つ目のバインドを解除するので一回だけ呼ばれる
        handle1.Dispose();
        holder.value = "";
        Assert.IsTrue(call.Broadcast(TestEvent.Event3, 123));
        Assert.AreEqual(holder.value, "123");
    }
Beispiel #11
0
        public void TestDeleteEvents1()
        {
            EventHolder eventHolder = new EventHolder();

            eventHolder.AddEvent(new DateTime(2013, 6, 21, 11, 30, 0), "WPF", "Ultimate Hall");
            eventHolder.DeleteEvents("WPF");
            Assert.AreEqual(true, eventHolder.Log.EndsWith("1 event(s) deleted" + Environment.NewLine));
        }
Beispiel #12
0
        public void TestAddEvent1()
        {
            EventHolder eventHolder = new EventHolder();

            eventHolder.AddEvent(new DateTime(2013, 4, 21, 11, 30, 0), "3D Graphics", "Ultimate Hall");

            Assert.AreEqual("Event added" + Environment.NewLine, eventHolder.Log);
        }
Beispiel #13
0
        public void TestListEvents1()
        {
            EventHolder eventHolder = new EventHolder();

            eventHolder.ListEvents(new DateTime(2013, 4, 21, 11, 30, 0), 10);

            Assert.AreEqual(true, eventHolder.Log.EndsWith("No events found" + Environment.NewLine));
        }
Beispiel #14
0
 public void AddEvent(EventHolder eventToAdd)
 {
     executeQuery("INSERT INTO Events VALUES (" +
                 eventToAdd.eventId + ",'" +
                 eventToAdd.name + "'" + "," +
                 eventToAdd.levelId + ", '" +
                 eventToAdd.description + "')");
 }
Beispiel #15
0
        public void RegisterAll(object instance)
        {
            var type = instance.GetType();

            foreach (var listenerMethod in type.GetMethods((BindingFlags)0x3C))
            {
                var eventHandlerAttrs = listenerMethod.GetCustomAttributes(typeof(SubscribeEvent), false);
                if (eventHandlerAttrs.Length < 1)
                {
                    continue;
                }

                var eventHandlerAttr = (SubscribeEvent)eventHandlerAttrs[0];
                var eventTarget      = eventHandlerAttr.DelegateOwner;
                var targetFieldName  = eventHandlerAttr.DelegateName;

                lock (_handlerMap) {
                    var holder = GetHolder(eventTarget, targetFieldName);

                    EventInfo       eventInfo;
                    List <Delegate> methodDelegates;

                    if (holder == null)
                    {
                        var eventTargetType = (Type)(eventTarget is Type
                            ? eventTarget
                            : eventTarget.GetType());

                        eventInfo = eventTargetType.GetEvent(targetFieldName);

                        holder = new EventHolder {
                            EventInfo = eventInfo,
                            Target    = eventTarget
                        };

                        methodDelegates = new List <Delegate>();
                    }
                    else
                    {
                        eventTarget = holder.Target;
                        eventInfo   = holder.EventInfo;

                        methodDelegates = _handlerMap[holder];
                    }

                    var methodDelegate = Delegate.CreateDelegate(
                        eventInfo.EventHandlerType,
                        instance,
                        listenerMethod
                        );

                    eventInfo.AddEventHandler(eventTarget, methodDelegate);

                    methodDelegates.Add(methodDelegate);
                    _handlerMap[holder] = methodDelegates;
                }
            }
        }
Beispiel #16
0
#pragma warning disable 1591 // Xml Comments
        public IEvent ToEvent(EventHolder eventHolder)
		{
			var logicalEventType = _eventMigrationHierarchyManager.GetLogicalTypeFromName(eventHolder.LogicalEventName);
			var concreteType = _eventMigrationHierarchyManager.GetConcreteTypeForLogicalEventMigrationLevel(logicalEventType, eventHolder.Generation);
			var @event = CreateInstance(concreteType, eventHolder.AggregateId);
			_serializer.FromJson(@event, eventHolder.SerializedEvent);
            @event.Id = eventHolder.Id;
			return _eventMigratorManager.Migrate(@event);
		}
Beispiel #17
0
        private AppBarButton NewButtonWithHandler(AppBarItem item)
        {
            var button = NewButton(item);

            if (EventHolder.ContainsKey(item))
            {
                button.Click += EventHolder[item];
            }
            DebugUtil.Log(() => "Creating button: " + item + " " + button.Visibility);
            return(button);
        }
Beispiel #18
0
        /// <summary>
        /// Called firstly when SMAPI finished loading of the mod.
        /// </summary>
        /// <param name="helper"></param>
        public override void Entry(IModHelper helper)
        {
            // Loads configuration from file.
            Config conf = Helper.ReadConfig <Config>();

            // Initialize InstanceHolder.
            InstanceHolder.Init(this, conf);

            // Initialize Logger
            Logger.Init(this);

            // Register events.
            EventHolder.RegisterEvents(Helper.Events);


            // Registration commands.
            Helper.ConsoleCommands.Add("joedebug", "Debug command for JoE", OnDebugCommand);

            // Limit config values.
            ConfigLimitation.LimitConfigValues();

            // Check mod compatibilities.
            if (ModChecker.IsCoGLoaded(helper))
            {
                Logger.Log("CasksOnGround detected.");
                IsCoGOn = true;
            }

            if (ModChecker.IsCaLoaded(helper))
            {
                Logger.Log("CasksAnywhere detected.");
                IsCaOn = true;
            }

            if (ModChecker.IsCcLoaded(helper))
            {
                Logger.Log("Convenient Chests detected. JoE's CraftingFromChests feature will be disabled and won't patch the game.");
                Conf.CraftingFromChests = false;
                IsCcOn = true;
            }
            else if (!Conf.SafeMode)
            {
                Logger.Log("Start patching using Harmony...");
                HarmonyPatched = HarmonyPatcher.Init();
            }
            else
            {
                Logger.Log("SafeMode enabled, and won't patch the game.");
            }
            helper.WriteConfig(Conf);
            MineIcons.Init(helper);
        }
        public void EventFiresTwiceIfRegisteredTwice()
        {
            // Arrange
            var eventHolder = new EventHolder();
            var subscriber  = new Event1Subscriber(eventHolder);

            subscriber.Subscribe();
            subscriber.Subscribe();

            // Act
            eventHolder.TriggerEvent1();

            // Assert
            Assert.AreEqual(2, subscriber.ExecutionCount);
        }
Beispiel #20
0
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();

        EventHolder script = (EventHolder)target;

        if (GUILayout.Button("Call Event Action Locally"))
        {
            script.TriggerEventLocally();
        }
        if (GUILayout.Button("Call Event"))
        {
            script.CallEventTrigger();
        }
    }
Beispiel #21
0
 public ActionResult CreateEventHolder(EventHolder eventHolder)
 {
     try
     {
         // TODO: Add insert logic here
         db.eventHolders.Add(eventHolder);
         eventHolder.ApplicationUserId = User.Identity.GetUserId();
         db.SaveChanges();
         return(RedirectToAction("MyEvents"));
     }
     catch
     {
         return(View());
     }
 }
Beispiel #22
0
        public void Serialize_ShouldIgnoreEvents()
        {
            var instance = new EventHolder();

            instance.NothingHappened += () => { };
            var context = new Context <EventHolder>(instance);

            using var document = JsonDocument.Parse(context.Json);

            var rootElement = document.RootElement;

            Assert.False(
                rootElement.TryGetProperty(nameof(EventHolder.NothingHappened), out var _),
                $"Document should **not** have a property of {nameof(EventHolder.NothingHappened)}"
                );
        }
Beispiel #23
0
		private async void DoOrdinaryCall()
		{
			var subject = new EventHolder();
			var count = 1000;
			var callCount = 0;
			for (int i = 0; i < count; i++)
			{
				subject.NonAsyncEvent += (sender, args) =>
				{
					Thread.Sleep(_millisecondsTimeout);
					callCount++;
				};
			}

			subject.RaiseNonAsync();
			Assert.That(callCount, Is.EqualTo(count));
		}
Beispiel #24
0
		public async Task TestAsyncAwait()
		{
			var subject = new EventHolder();
			var count = 1000;
			var callCount = 0;
			for (int i = 0; i < count; i++)
			{
				subject.AsyncEvent += async (target, args) =>
				{
					Thread.Sleep(_millisecondsTimeout);
					callCount++;
				};
			}

			await subject.RaiseAsync();
			Assert.That(callCount, Is.EqualTo(count));
		}
Beispiel #25
0
        /// <summary>
        /// Called firstly when SMAPI finished loading of the mod.
        /// </summary>
        /// <param name="helper"></param>
        public override void Entry(IModHelper helper)
        {
            // Initialize Logger
            Logger.Init(Monitor);

            // Initialize InstanceHolder.
            InstanceHolder.Init(this);

            // Register events.
            EventHolder.RegisterEvents(Helper.Events);


            // Registration commands.
            Helper.ConsoleCommands.Add("joedebug", "Debug command for JoE", OnDebugCommand);
            Helper.ConsoleCommands.Add("joerelcon", "Reloading config command for JoE", OnReloadConfigCommand);


            // Limit config values.
            ConfigLimitation.LimitConfigValues();

            // Check mod compatibilities.
            if (ModChecker.IsCoGLoaded(helper))
            {
                Logger.Log("CasksOnGround detected.");
                IsCoGOn = true;
            }

            if (ModChecker.IsCaLoaded(helper))
            {
                Logger.Log("CasksAnywhere detected.");
                IsCaOn = true;
            }

            // Do patching stuff
            if (!Conf.SafeMode)
            {
                HarmonyPatcher.DoPatching();
            }
            else
            {
                Logger.Log("Bypassing patching...");
            }

            helper.WriteConfig(Conf);
            MineIcons.Init(helper);
        }
Beispiel #26
0
        public ActionResult EditEventHolder(int id, EventHolder eventHolder)
        {
            try
            {
                // TODO: Add update logic here
                var editedEventHolder = db.eventHolders.Where(c => c.HolderId == id).SingleOrDefault();
                editedEventHolder.FirstName   = eventHolder.FirstName;
                editedEventHolder.LastName    = eventHolder.LastName;
                editedEventHolder.CompanyName = eventHolder.CompanyName;
                db.SaveChanges();


                return(RedirectToAction("MyEvents"));
            }
            catch
            {
                return(View("MyEvents"));
            }
        }
Beispiel #27
0
		public void ToEventHolder(EventHolder eventHolder, IEvent @event)
		{
			var eventType = @event.GetType();
			var logicalEventType = _eventMigrationHierarchyManager.GetLogicalTypeForEvent(eventType);
			var generation = _eventMigrationHierarchyManager.GetCurrentMigrationLevelForLogicalEvent(logicalEventType);
			var eventSourceName = GetEventSourceFromEvent(@event);
			eventHolder.Id = @event.Id;
			eventHolder.CommandName = @event.CommandName;
			eventHolder.Name = @event.Name;
			eventHolder.AggregateId = @event.EventSourceId;
            eventHolder.EventSource = eventSourceName;
			eventHolder.SerializedEvent = _serializer.ToJson(@event);
			eventHolder.LogicalEventName = logicalEventType.Name;
			eventHolder.Generation = generation;
            eventHolder.CausedBy = @event.CausedBy;
            eventHolder.Origin = @event.Origin;
			eventHolder.Occured = @event.Occured;
			eventHolder.Version = @event.Version.Combine();
		}
        private void setupEvents(MapModel mm)
        {
            //Add objectives
            mm.eventCollection.addEvent(new MapEventModel()
            {
                x           = 26,
                y           = 27,
                rewardType  = ClientEvent.RewardType.Objective,
                eventData   = EventHolder.getMapEvent(1),
                rewardValue = 0
            });
            mm.eventCollection.addEvent(new MapEventModel()
            {
                x           = 3,
                y           = 37,
                rewardType  = ClientEvent.RewardType.Objective,
                eventData   = EventHolder.getMapEvent(2),
                rewardValue = 0
            });
            mm.eventCollection.addEvent(new MapEventModel()
            {
                x           = 45,
                y           = 12,
                rewardType  = ClientEvent.RewardType.Objective,
                eventData   = EventHolder.getMapEvent(3),
                rewardValue = 0
            });

            //Add an "event wall" on the left and two on the right
            for (int y = 38; y >= 35; y--)
            {
                mm.eventCollection.addEvent(getRandomEvent(16, y));
            }
            for (int x = 43; x <= 46; x++)
            {
                mm.eventCollection.addEvent(getRandomEvent(x, 31));
            }
            for (int x = 43; x <= 46; x++)
            {
                mm.eventCollection.addEvent(getRandomEvent(x, 24));
            }
        }
Beispiel #29
0
        public void UnRegisterListener <T>(String propertyName, EventHandler <PropertyChangeRequestEventArgs <T> > handler)
        {
            Type t = typeof(T);

            if (!m_pool.ContainsKey(t))
            {
                return;
            }

            Dictionary <String, Object> events = m_pool[t];

            if (!events.ContainsKey(propertyName))
            {
                return;
            }

            EventHolder <T> holder = events[propertyName] as EventHolder <T>;

            holder.OnEvent -= handler;
        }
Beispiel #30
0
        public void Fire <T>(String propertyName, T requestedValue)
        {
            Type t = typeof(T);

            if (!m_pool.ContainsKey(t))
            {
                return;
            }

            Dictionary <String, Object> events = m_pool[t];

            if (!events.ContainsKey(propertyName))
            {
                return;
            }

            EventHolder <T> holder = events[propertyName] as EventHolder <T>;

            holder.Fire(m_sender, requestedValue);
        }
Beispiel #31
0
        public void RegisterListener <T>(String propertyName, EventHandler <PropertyChangeRequestEventArgs <T> > handler)
        {
            Type t = typeof(T);

            if (!_pool.ContainsKey(t))
            {
                _pool.Add(t, new Dictionary <String, Object>());
            }

            Dictionary <String, Object> events = _pool[t];

            if (!events.ContainsKey(propertyName))
            {
                events.Add(propertyName, new EventHolder <T>());
            }

            EventHolder <T> holder = events[propertyName] as EventHolder <T>;

            holder.OnEvent += handler;
        }
Beispiel #32
0
        public EventSourceVersion GetLastCommittedVersion(EventSource eventSource, Guid eventSourceId)
        {
            var eventPath = GetPathFor(eventSource.GetType().Name, eventSourceId);
            var first     = Directory.GetFiles(eventPath).OrderByDescending(f => f).FirstOrDefault();

            if (first == null)
            {
                return(EventSourceVersion.Zero);
            }

            var json   = File.ReadAllText(first);
            var target = new EventHolder
            {
                Type    = typeof(string),
                Version = EventSourceVersion.Zero,
                Event   = string.Empty
            };

            _serializer.FromJson(target, json);

            return(target.Version);
        }
Beispiel #33
0
        // </GetEventsSnippet>
        public List <EventHolder> ListCalendarEvents()
        {
            var events = GetEventsAsync().Result;
            List <EventHolder> eventsList = new List <EventHolder>();

            foreach (var calendarEvent in events)
            {
                //Console.WriteLine(calendarEvent.Subject);
                DateTimeTimeZone start       = calendarEvent.Start;
                DateTimeOffset   startOffset = OffsetOfDateTimeTimeZone(start);
                //Console.WriteLine(startOffset.ToString("g"));
                DateTimeOffset current = new DateTimeOffset(DateTime.Now);
                DateTimeOffset plus10  = new DateTimeOffset(DateTime.Now).AddMinutes(10);
                if (startOffset.CompareTo(current) < 0)
                {
                    //Console.WriteLine("The date is in the past.");
                    continue;
                }
                if (startOffset.CompareTo(plus10) > 0)
                {
                    //Console.WriteLine("The date is in the future.");
                    continue;
                }
                var catEnum = calendarEvent.Categories.GetEnumerator();
                if (!catEnum.MoveNext())
                {
                    //Console.WriteLine("No category.");
                    continue;
                }
                var eventHolder = new EventHolder();
                eventHolder.Subject  = calendarEvent.Subject;
                eventHolder.Category = catEnum.Current;
                eventHolder.Date     = startOffset;
                eventsList.Add(eventHolder);
            }
            return(eventsList);
        }
Beispiel #34
0
        /// <summary>
        /// Called firstly when SMAPI finished loading of the mod.
        /// </summary>
        /// <param name="helper"></param>
        public override void Entry(IModHelper helper)
        {
            // Loads configuration from file.
            Config conf = Helper.ReadConfig <Config>();

            // Initialize InstanceHolder.
            InstanceHolder.Init(this, conf);

            // Initialize Logger
            Logger.Init(Monitor);

            // Register events.
            EventHolder.RegisterEvents(Helper.Events);


            // Registration commands.
            Helper.ConsoleCommands.Add("joedebug", "Debug command for JoE", OnDebugCommand);

            // Limit config values.
            ConfigLimitation.LimitConfigValues();

            // Check mod compatibilities.
            if (ModChecker.IsCoGLoaded(helper))
            {
                Logger.Log("CasksOnGround detected.");
                IsCoGOn = true;
            }

            if (ModChecker.IsCaLoaded(helper))
            {
                Logger.Log("CasksAnywhere detected.");
                IsCaOn = true;
            }

            helper.WriteConfig(Conf);
            MineIcons.Init(helper);
        }
Beispiel #35
0
#pragma warning disable 1591 // Xml Comments
        public CommittedEventStream GetForEventSource(EventSource eventSource, Guid eventSourceId)
        {
            var eventPath = GetPathFor(eventSource.GetType().Name, eventSourceId);
            var files     = Directory.GetFiles(eventPath).OrderBy(f => f);

            var stream = new CommittedEventStream(eventSourceId);

            var target = new EventHolder
            {
                Type    = typeof(string),
                Version = EventSourceVersion.Zero,
                Event   = string.Empty
            };

            foreach (var file in files)
            {
                var json = File.ReadAllText(file);
                _serializer.FromJson(target, json);

                var @event = _serializer.FromJson(target.Type, json) as IEvent;
                stream.Append(new[] { @event });
            }
            return(stream);
        }
Beispiel #36
0
#pragma warning disable 1591 // Xml Comments
        public CommittedEventStream GetForEventSource(EventSource eventSource, Guid eventSourceId)
        {
            var eventPath = GetPathFor(eventSource.GetType().Name, eventSourceId);
            var files = Directory.GetFiles(eventPath).OrderBy(f => f);

            var stream = new CommittedEventStream(eventSourceId);

            var target = new EventHolder
            {
                Type = typeof(string),
                Version = EventSourceVersion.Zero,
                Event = string.Empty
            };

            foreach (var file in files)
            {
                var json = File.ReadAllText(file);
                _serializer.FromJson(target, json);

                var @event = _serializer.FromJson(target.Type, json) as IEvent;
                stream.Append(new[] { @event });
            }
            return stream;
        }
Beispiel #37
0
 public EventSystem()
 {
     m_EventHolder = new EventHolder <T, EventArgs <T> >();
 }
Beispiel #38
0
        public EventSourceVersion GetLastCommittedVersion(EventSource eventSource, Guid eventSourceId)
        {
            var eventPath = GetPathFor(eventSource.GetType().Name, eventSourceId);
            var first = Directory.GetFiles(eventPath).OrderByDescending(f => f).FirstOrDefault();
            if (first == null) return EventSourceVersion.Zero;

            var json = File.ReadAllText(first);
            var target = new EventHolder
            {
                Type = typeof(string),
                Version = EventSourceVersion.Zero,
                Event = string.Empty
            };

            _serializer.FromJson(target, json);

            return target.Version;
        }
Beispiel #39
0
 public void ModifyEvent(EventHolder eventToModify)
 {
     executeQuery("UPDATE Events SET eventname = " + eventToModify.name +
                 ", levelId = " + eventToModify.levelId +
                 ", Beschrijving = '" + eventToModify.description +
                 "' WHERE eventId = " + eventToModify.eventId + ";");
 }
Beispiel #40
0
        public List<EventHolder> GetAllEvents(int level)
        {
            String sql = "SELECT * FROM Events WHERE levelId = "+level+" OR levelId > 99 ORDER BY eventId, levelId";
            List<List<String>> result = GetAllData(new String[] { "eventId", "levelId", "eventname", "Beschrijving" }, sql);
            List<EventHolder> events = new List<EventHolder>();
            EventHolder physicsEvent;

            foreach (List<String> row in result)
            {
                Console.WriteLine(row[0] + row[1] + row[2] + "ROW");
                physicsEvent = new EventHolder(
                    Convert.ToInt32(row[0]),
                    Convert.ToInt32(row[1]),
                    row[2],
                    row[3]);
                events.Add(physicsEvent);
            }
            Console.WriteLine("Events:"+events.Count);
            return events;
        }
Beispiel #41
0
        public IEnumerable<IEvent> GetAll()
        {
            var events = new List<IEvent>();
            var path = Path.Combine(_configuration.Path, "EventStore");
            var eventFiles = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories);
            foreach (var eventFile in eventFiles)
            {
                var json = File.ReadAllText(eventFile);

                var target = new EventHolder
                {
                    Type = typeof(string),
                    Version = EventSourceVersion.Zero,
                    Event = string.Empty
                };

                _serializer.FromJson(target, json);

                var @event = _serializer.FromJson(target.Type, target.Event) as IEvent;
                events.Add(@event);
            }

            return events;
        }
Beispiel #42
0
		public EventHolder ToEventHolder(IEvent @event)
		{
			var eventHolder = new EventHolder();
			ToEventHolder(eventHolder, @event);
			return eventHolder;
		}
Beispiel #43
0
        public void SubscribeToEvent(string name, EventHandler<SandboxEventArguments> eventHandler)
        {
            if (eventHandler != null)
            {
                lock (((ICollection)_eventObserver).SyncRoot)
                {
                    EventHolder holder;
                    _eventObserver.TryGetValue(name, out holder);
                    if (holder != null)
                    {
                        holder.EventDelegates += eventHandler;
                    }
                    else
                    {
                        holder = new EventHolder(eventHandler);
                        _eventObserver.Add(name, holder);
                    }
                }

                Console.WriteLine("Event named {0} had a new subscriber {1}", name, eventHandler);
            }
        }
Beispiel #44
0
        public void TestListEvents1()
        {
            EventHolder eventHolder = new EventHolder();
            eventHolder.ListEvents(new DateTime(2013, 4, 21, 11, 30, 0), 10);

            Assert.AreEqual(true, eventHolder.Log.EndsWith("No events found" + Environment.NewLine));
        }
Beispiel #45
0
        // GET: EventHolder/Create
        public ActionResult CreateEventHolder()
        {
            EventHolder eventHolder = new EventHolder();

            return(View("CreateEventHolder", eventHolder));
        }
        private void TriggerNextQueuedEvent()
        {
            LogProfileEventDispatch("Start TriggerNextQueuedEvent");

            bool canTriggerNextEvent = true;

            while (canTriggerNextEvent)
            {
                LogProfileEventDispatch("Start TriggerNextQueuedEvent, Starting Loop");

                canTriggerNextEvent = false;

                lock (mQueuedEventTriggerMutex)
                {
                    if (!mIsTriggeringQueuedEvent)
                    {
                        Debug.Assert(mNumQueuedEventHandlersInProgress >= 0, "Negative number of event handlers");

                        canTriggerNextEvent      = (mNumQueuedEventHandlersInProgress == 0);
                        mIsTriggeringQueuedEvent = canTriggerNextEvent;
                    }
                }

                if (canTriggerNextEvent)
                {
                    EventHolder eventHolder = null;

                    lock (mQueuedEvents)
                    {
                        canTriggerNextEvent = (mQueuedEvents.Count > 0);

                        if (canTriggerNextEvent)
                        {
                            eventHolder = mQueuedEvents.Dequeue();
                        }
                    }

                    Debug.Assert((eventHolder != null) || !canTriggerNextEvent);

                    if ((eventHolder != null) && canTriggerNextEvent)
                    {
                        Delegate[] invocationList = null;

                        lock (mQueuedEventTriggerMutex)
                        {
                            Debug.Assert(mNumQueuedEventHandlersInProgress == 0);

                            invocationList = eventHolder.GetInvocationList();
                            Debug.Assert(invocationList != null);

                            if (invocationList != null)
                            {
                                //it is OK to have more than one delegate in the invocation list, specifically for the connection changed events there may be multiple disconnection event listeners
                                Debug.Assert(invocationList.Length > 0);//debug test to make sure nothing weird is happening

                                for (int x = 0; x < invocationList.Length; x++)
                                {
                                    Interlocked.Increment(ref mNumQueuedEventHandlersInProgress);
                                }
                            }
                        }

                        Debug.Assert(invocationList != null);

                        //delegates are invoked here so we don't have to invoke them inside a lock statement
                        if (invocationList != null)
                        {
                            LogProfileEventDispatch("Start TriggerNextQueuedEvent, BeginInvoke");

                            eventHolder.BeginInvoke(this, invocationList, this.QueuedEventHandlerComplete, null);

                            LogProfileEventDispatch("Start TriggerNextQueuedEvent, BeginInvoke Finished");
                        }
                    }

                    lock (mQueuedEventTriggerMutex)
                    {
                        mIsTriggeringQueuedEvent = false;
                    }
                }
            }

            LogProfileEventDispatch("End TriggerNextQueuedEvent");
        }
 public DataReceiver()
 {
     eholder = new Interal.EventHolder();
 }