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; }
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); }