Ejemplo n.º 1
0
        public void ProcessedFor(IPostManSubscribe subscribe)
        {
            if (!AlreadyProcessed(subscribe.GetType()))
            {
                throw new InvalidOperationException($"Não foi possivel sinalizar que o subscribe {subscribe.GetType()} foi processado");
            }

            Results.Single(r => r.Subscribe.GetType() == subscribe.GetType()).State = ResultEventState.Completed;
        }
Ejemplo n.º 2
0
        public ResultEvent ProcessingFor(IPostManSubscribe subscribe)
        {
            if (AlreadyProcessed(subscribe.GetType()))
            {
                throw new ArgumentException($"Evento {this.GetType()}  já está sendo ou foi processado pelo {subscribe.GetType()}");
            }

            var result = new ResultEvent
            {
                Event     = this,
                State     = ResultEventState.Running,
                Subscribe = subscribe
            };

            Results.Add(result);

            return(result);
        }
Ejemplo n.º 3
0
 private void Process <T>(T postManEvent, IPostManSubscribe s) where T : BasePostManEvent
 {
     s.Published(postManEvent);
     postManEvent.ProcessedFor(s);
 }