示例#1
0
文件: CaseReport.cs 项目: esp0/cbs-rc
        private void GenerateReportRegisteredEvents(
            CaseReportData caseReportData,
            AgeGroup group,
            Sex sex,
            int count,
            int healthRiskNumber)
        {
            for (int i = 0; i < count; i++)
            {
                var reportRegistered = new ReportRegistered(
                    Guid.NewGuid(),
                    caseReportData.CaseReportId,
                    (int)group,
                    (int)sex,
                    caseReportData.Latitude,
                    caseReportData.Longitude,
                    caseReportData.Timestamp,
                    caseReportData.DataCollectorId,
                    caseReportData.HealthRiskId,
                    healthRiskNumber,
                    caseReportData.PhoneNumber);

                Apply(reportRegistered);
            }
        }
示例#2
0
        public void Process(ReportRegistered @event)
        {
            var item = new AvailableReport
            {
                Id               = @event.ReportId,
                HealthRiskId     = @event.HealthRiskId,
                HealthRiskNumber = @event.HealthRiskNumber,
                Latitude         = @event.Latitude,
                Longitude        = @event.Longitude,
                Timestamp        = @event.Timestamp
            };

            _availableReports.Insert(item);
        }
示例#3
0
        public void Process(ReportRegistered @event)
        {
            var item = new Report(@event.ReportId)
            {
                CaseReportId      = @event.CaseReportId,
                DataCollectorId   = @event.DataCollectorId,
                OriginPhoneNumber = @event.OriginPhoneNumber,
                AgeGroup          = (AgeGroup)@event.AgeGroup,
                Sex              = (Sex)@event.Sex,
                HealthRiskId     = @event.HealthRiskId,
                HealthRiskNumber = @event.HealthRiskNumber,
                Latitude         = @event.Latitude,
                Longitude        = @event.Longitude,
                Timestamp        = @event.Timestamp
            };

            _repositoryForCase.Insert(item);
        }
示例#4
0
        public void Process(ReportRegistered @event)
        {
            var transaction = _commandContextManager.EstablishForCommand(
                new Dolittle.Runtime.Commands.CommandRequest(
                    Guid.NewGuid(),
                    Guid.NewGuid(),
                    1,
                    new Dictionary <string, object>()));
            var root = _alertsAggregateRootRepository.Get(@event.CaseReportId);
            var item = _reportRepository.GetById(@event.ReportId);
            var relevantAlertRules = GetRelevantAlertRules(item.HealthRiskNumber);

            foreach (var alertRule in relevantAlertRules)
            {
                TriggerAlerts(alertRule, root);
            }

            transaction.Commit();
        }
示例#5
0
文件: CaseReport.cs 项目: esp0/cbs-rc
 private void On(ReportRegistered @event)
 {
     _isProcessed = true;
 }