コード例 #1
0
 private static DataPerSecurityReqMsg GetRequestMsg(DataPerFundReqMsg msg, int securityId)
 {
     return(new DataPerSecurityReqMsg()
     {
         FundId = msg.FundId,
         SecurityId = securityId
     });
 }
コード例 #2
0
 private void CreateGlobalFundData(DataPerFundReqMsg msg)
 {
     FundAttribData = new FundData()
     {
         Id         = msg.FundId,
         Name       = string.Format("Fund_{0}", msg.FundId),
         Securities = new List <SecurityData>()
     };
 }
コード例 #3
0
        private void ProcessSecuritiesData(DataPerFundReqMsg msg)
        {
            HashSet <int> securityIds = GetSecurityIds(msg.FundId);

            foreach (var securityId in securityIds)
            {
                var       securityActorProps    = Props.Create(() => new SecurityActor());
                IActorRef securityActor         = Context.ActorOf(securityActorProps);
                var       dataPerSecurityReqMsg = GetRequestMsg(msg, securityId);
                securityActor.Tell(dataPerSecurityReqMsg);
            }
        }
コード例 #4
0
        public void ProcessRequest(AttributionRequestMessage requestMsg)
        {
            var       fundActorProps          = Props.Create(() => new FundActor());
            IActorRef fundActor               = Context.ActorOf(fundActorProps, "FundActor");
            var       consoleWriterActorProps = Props.Create(() => new ConsoleWriterActor());
            IActorRef consoleWriterActor      = Context.ActorOf(consoleWriterActorProps, "ConsoleWriterActor");

            int fundId = requestMsg.Request.FundId;

            DataPerFundReqMsg msg = new DataPerFundReqMsg()
            {
                FundId = fundId,
                Extras = new Dictionary <string, object>()
                {
                    { "consoleWriterActor", consoleWriterActor }
                }
            };

            fundActor.Tell(msg);
        }