Ejemplo n.º 1
0
 public Task <AcceptedResult> MessageRouter([FromBody] List <PostmarkEmail> emailMessages)
 {
     return(Task.Run(() =>
     {
         var emails = _mapper.Map <List <PostmarkEmail>, List <Email> >(emailMessages);
         var msg = new EmailRequestMsg(emails);
         _messageRoutingManagerActor.Tell(msg, ActorRefs.NoSender);
         return Accepted(new PostmarkEmailResponse(msg.RequestId, emailMessages.Count));
     }));
 }
 /// <summary>
 /// Handle EmailRequestMsg received by sending a each email
 /// to MessageResolverActor for categorization.
 /// </summary>
 /// <param name="msg"></param>
 private void HandleEmailRequestMsg(EmailRequestMsg msg)
 {
     Persist(msg, emailRequestMsg =>
     {
         // stores information about message
         // request before starting processing
         _messageRoutingService.StoreMessageRequest(
             emailRequestMsg.RequestId,
             emailRequestMsg.Created,
             emailRequestMsg.Emails.Count
             );
         emailRequestMsg.Emails.ForEach(email =>
         {
             _messageResolverActor.Tell(new ResolveEmailTypeMsg(msg.RequestId, email), Self);
         });
     });
 }