public void AddEvent(Event @event) { var data = @event.Data; Int64 id = data.Id; switch (@event.Name) { case "ITEM-CREATED": string title = data.Title; bool isCompleted1 = data.IsCompleted; OnEventAdded.Invoke(this, new TodoItemCreatedArgs(id, title, isCompleted1)); break; case "ITEM-COMPLETED": bool isCompleted2 = data.IsCompleted; OnEventAdded.Invoke(this, new TodoItemCompletedArgs(id, isCompleted2)); break; case "ITEM-DELETED": OnEventAdded.Invoke(this, new TodoItemDeletedArgs(id)); break; default: OnEventAdded.Invoke(this, new EventArgs()); break; } _ctx.Events.Add(@event); _ctx.SaveChanges(); }
private void RaiseOnEventAdded(string eventName) { var handler = OnEventAdded; if (handler != null) { OnEventAdded?.Invoke(this, eventName); } }
void AddSubscription(Type handlerType, string eventName, Type eventType = null) { if (!HasSubscriptions(eventName)) { _eventHandlers.Add(eventName, new List <Subscription>()); OnEventAdded?.Invoke(this, eventName); } if (_eventHandlers[eventName].Any(s => s.HandlerType == handlerType)) { throw new ArgumentException($"Handler {handlerType.Name} already register for '{eventName}'", nameof(handlerType)); } _eventHandlers[eventName].Add(Subscription.Create(handlerType, eventType)); }
private void AddSubscription(Type handlerType, string eventName, Type eventType = null) { if (!HasSubscriptionsForEvent(eventName)) { _handlers.Add(eventName, new List <Subscription>()); OnEventAdded?.Invoke(this, new EventEventArgs(eventName)); } if (((List <Subscription>)_handlers[eventName]).Any(s => s.HandlerType == handlerType)) { throw new ArgumentException( $"Handler Type {handlerType.Name} already registered for '{eventName}'", nameof(handlerType)); } _handlers[eventName].Add(Subscription.New( handlerType, eventType) ); }
public void AddEvent(ScheduledEvent ev) { if (!listofevents.Any(item => item.Name == ev.Name)) { if ((Email == null) && (ev.Notifications.Contains(NotificationType.Email))) { try { Email = NotiFactory.Default.GetEmail(); } catch { MessageBoxResult result = System.Windows.MessageBox.Show(String.Join(Environment.NewLine, "Retry?", "Press No if you don't need Email Noptification"), "Authentication error", MessageBoxButton.YesNo, MessageBoxImage.Error); if (result == MessageBoxResult.Yes) { Email = null; if (Directory.Exists(".credentials")) { Directory.Delete(".credentials", true); } Email = NotiFactory.Default.GetEmail(); } ; } } int index = listofevents.FindIndex(e => e.DateTime > ev.DateTime); if (index >= 0) { listofevents.Insert(index, ev); } else { listofevents.Add(ev); } OnEventAdded?.Invoke(ev); } else { throw new ArgumentException("The event witn such method had been already added"); } }
private void AddSubscription(Type handlerType, string eventName, Type eventType) { if (!HasSubscriptionsForEvent(eventName)) { _handlers.Add(eventName, new List <Subscription>()); if (OnEventAdded != null) { OnEventAdded.Invoke(this, new EventEventArgs(eventName)); } } if (((List <Subscription>)_handlers[eventName]).Any(s => s.HandlerType == handlerType)) { throw new ArgumentException( string.Format("Handler Type {0} already registered for '{1}'", handlerType.Name, eventName), "handlerType"); } _handlers[eventName].Add(Subscription.New( handlerType, eventType) ); }
private void DoAddSubscription(Type handlerType, string eventName, bool isDynamic) { if (!HasSubscriptionsForEvent(eventName)) { _handlers.Add(eventName, new List <SubscriptionInfo>()); OnEventAdded?.Invoke(this, eventName); } if (_handlers[eventName].Any(s => s.HandlerType == handlerType)) { throw new ArgumentException( $"Handler Type {handlerType.Name} already registered for '{eventName}'", nameof(handlerType)); } if (isDynamic) { _handlers[eventName].Add(SubscriptionInfo.Dynamic(handlerType)); } else { _handlers[eventName].Add(SubscriptionInfo.Typed(handlerType)); } }
/// <summary> /// Adds a subscription for a given event of type T (IntegrationEvent) /// with its handler of type TH (IntegrationEventHandler<T>) and /// raises OnEventAdded so EventBus can handle its queue creation. /// </summary> /// <typeparam name="T">Integration event type</typeparam> /// <typeparam name="TH">Integration event handler type</typeparam> public void AddSubscription <T, TH>() where T : IntegrationEvent where TH : IIntegrationEventHandler <T> { var eventName = GetEventKey <T>(); var handlerType = typeof(TH); if (!HasSubscriptionsForEvent(eventName)) { _eventHandlers.Add(eventName, new List <Subscription>()); OnEventAdded?.Invoke(this, eventName); } if (_eventHandlers[eventName].Any(s => s.HandlerType == handlerType)) { throw new ArgumentException( $"Handler Type {handlerType.Name} already registered for '{eventName}'", nameof(handlerType)); } _eventHandlers[eventName].Add(Subscription.New(typeof(T), handlerType)); OnEventAdded?.Invoke(this, eventName); }
private async Task AddEventToSelectedDay() { // Convert the time to the a new date within the selected day model.StartDate = new DateTime(SelectedDay.Date.Year, SelectedDay.Date.Month, SelectedDay.Date.Day, model.StartDate.Hour, model.StartDate.Minute, 0); model.EndDate = new DateTime(SelectedDay.Date.Year, SelectedDay.Date.Month, SelectedDay.Date.Day, model.EndDate.Hour, model.EndDate.Minute, 0); if (SelectedDay.Events == null) { SelectedDay.Events = new List <CalendarEvent>(); } var calendarEvent = new CalendarEvent { Subject = model.Subject, StartDate = model.StartDate, EndDate = model.EndDate }; SelectedDay.Events.Add(calendarEvent); OnEventAdded.Invoke(); Console.WriteLine($"Total Events in Day {SelectedDay.Events.Count} | {model.Subject} | {model.StartDate} | {model.EndDate}"); model = new CalendarEvent(); }
public void AddEvent(EventLogMessage evt) { _eventRecord.Add(evt); OnEventAdded?.Invoke(evt); }