コード例 #1
0
        public void Process(InvalidReportReceived @event)
        {
            var dataCollector = _dataCollectors.GetById(@event.DataCollectorId);

            var caseReport = new CaseReportForListing(@event.CaseReportId)
            {
                Status = CaseReportStatus.TextMessageParsingError,
                DataCollectorDisplayName = dataCollector.DisplayName,
                DataCollectorId          = dataCollector.Id,
                DataCollectorRegion      = dataCollector.Region,
                DataCollectorDistrict    = dataCollector.District,
                DataCollectorVillage     = dataCollector.Village,

                HealthRiskId = null,
                HealthRisk   = "Unknown",

                Location            = dataCollector.Location,
                Message             = @event.Message,
                Origin              = @event.Origin,
                ParsingErrorMessage = @event.ErrorMessages,
                Timestamp           = @event.Timestamp
            };

            _caseReports.Insert(caseReport);
        }
コード例 #2
0
        public void Process(CaseReportReceived @event)
        {
            var dataCollector = _dataCollectors.GetById(@event.DataCollectorId);
            var healthRisk    = _healthRisks.GetById(@event.HealthRiskId);
            var caseReport    = new CaseReportForListing(@event.CaseReportId)
            {
                Status                       = CaseReportStatus.Success,
                DataCollectorId              = @event.DataCollectorId,
                DataCollectorDisplayName     = dataCollector.DisplayName,
                DataCollectorRegion          = dataCollector.Region,
                DataCollectorDistrict        = dataCollector.District,
                DataCollectorVillage         = dataCollector.Village,
                HealthRiskId                 = @event.HealthRiskId,
                HealthRisk                   = healthRisk.Name,
                NumberOfFemalesUnder5        = @event.NumberOfFemalesUnder5,
                NumberOfFemalesAged5AndOlder = @event.NumberOfFemalesAged5AndOlder,
                NumberOfMalesUnder5          = @event.NumberOfMalesUnder5,
                NumberOfMalesAged5AndOlder   = @event.NumberOfMalesAged5AndOlder,
                Location                     = new Location(@event.Latitude, @event.Longitude),
                Timestamp                    = @event.Timestamp,
                Origin                       = @event.Origin,
                Message                      = @event.Message,
                ParsingErrorMessage          = new List <string>()
            };

            _caseReports.Save(caseReport);
        }
コード例 #3
0
        public void Process(CaseReportReceived @event)
        {
            var dataCollector = _dataCollectors.GetById(@event.DataCollectorId);
            var healthRisk    = _healthRisks.GetById(@event.HealthRiskId);

            var caseReport = new CaseReportForListing(@event.CaseReportId)
            {
                Status                   = CaseReportStatus.Success,
                Message                  = @event.Message,
                DataCollectorId          = dataCollector.Id,
                DataCollectorDisplayName = dataCollector.DisplayName,
                DataCollectorDistrict    = dataCollector.District,
                DataCollectorRegion      = dataCollector.Region,
                DataCollectorVillage     = dataCollector.Village,
                Location                 = dataCollector.Location,
                Origin                   = @event.Origin,

                HealthRiskId = healthRisk.Id,
                HealthRisk   = healthRisk.Name,

                NumberOfMalesUnder5          = @event.NumberOfMalesUnder5,
                NumberOfMalesAged5AndOlder   = @event.NumberOfMalesAged5AndOlder,
                NumberOfFemalesUnder5        = @event.NumberOfFemalesUnder5,
                NumberOfFemalesAged5AndOlder = @event.NumberOfFemalesAged5AndOlder,
                Timestamp = @event.Timestamp
            };

            _caseReports.Insert(caseReport);
        }
コード例 #4
0
        public void Process(CaseReportFromUnknownDataCollectorReceived @event)
        {
            var healthRisk = _healthRisks.GetById(@event.HealthRiskId);

            var caseReport = new CaseReportForListing(@event.CaseReportId)
            {
                Status = CaseReportStatus.UnknownDataCollector,
                DataCollectorDisplayName = "Unknown",
                DataCollectorId          = null,

                HealthRisk   = healthRisk.Name,
                HealthRiskId = healthRisk.Id,

                Location  = Location.NotSet,
                Message   = @event.Message,
                Origin    = @event.Origin,
                Timestamp = @event.Timestamp,

                DataCollectorDistrict = null,
                DataCollectorRegion   = null,
                DataCollectorVillage  = null
            };

            _caseReports.Insert(caseReport);
        }
コード例 #5
0
 public async Task Process(InvalidReportFromUnknownDataCollectorReceived @event)
 {
     var caseReport = new CaseReportForListing(@event.CaseReportId)
     {
         Status    = CaseReportStatus.TextMessageParsingErrorAndUnknownDataCollector,
         Message   = @event.Message,
         Timestamp = @event.Timestamp
     };
     await _caseReports.Save(caseReport);
 }
コード例 #6
0
        public void Process(InvalidReportFromUnknownDataCollectorReceived @event)
        {
            var caseReport = new CaseReportForListing(@event.CaseReportId)
            {
                Status              = CaseReportStatus.TextMessageParsingErrorAndUnknownDataCollector,
                Message             = @event.Message,
                Timestamp           = @event.Timestamp,
                Origin              = @event.Origin,
                ParsingErrorMessage = @event.ErrorMessages
            };

            _caseReports.Save(caseReport);
        }
コード例 #7
0
 public async Task Process(InvalidReportReceived @event)
 {
     var dataCollector = _dataCollectors.GetById(@event.DataCollectorId);
     var caseReport    = new CaseReportForListing(@event.CaseReportId)
     {
         Status                   = CaseReportStatus.TextMessageParsingError,
         DataCollectorId          = @event.DataCollectorId,
         DataCollectorDisplayName = dataCollector.DisplayName,
         Message                  = @event.Message,
         Timestamp                = @event.Timestamp
     };
     await _caseReports.Save(caseReport);
 }
コード例 #8
0
        public void Process(InvalidReportFromUnknownDataCollectorReceived @event)
        {
            var caseReport = new CaseReportForListing(@event.CaseReportId)
            {
                Status                   = CaseReportStatus.TextMessageParsingErrorAndUnknownDataCollector,
                Message                  = @event.Message,
                Timestamp                = @event.Timestamp,
                Origin                   = @event.Origin,
                ParsingErrorMessage      = @event.ErrorMessages,
                DataCollectorDisplayName = "Unknown",
                Location                 = Location.NotSet,
                HealthRisk               = "Unknown"
            };

            _caseReports.Save(caseReport);
        }
コード例 #9
0
        //QUESTION: Should we also listen to datacollector and health risk changes to update names? Or is there a better way to do this?

        public async Task Process(CaseReportFromUnknownDataCollectorReceived @event)
        {
            var healthRisk = _healthRisks.GetById(@event.HealthRiskId);
            var caseReport = new CaseReportForListing(@event.CaseReportId)
            {
                Status                   = CaseReportStatus.UnknownDataCollector,
                HealthRiskId             = @event.HealthRiskId,
                HealthRisk               = healthRisk.Name,
                NumberOfFemalesAges0To4  = @event.NumberOfFemalesAges0To4,
                NumberOfFemalesAgedOver4 = @event.NumberOfFemalesAgedOver4,
                NumberOfMalesAges0To4    = @event.NumberOfMalesAges0To4,
                NumberOfMalesAgedOver4   = @event.NumberOfMalesAgedOver4,
                Timestamp                = @event.Timestamp
            };
            await _caseReports.Save(caseReport);
        }
コード例 #10
0
        //QUESTION: Should we also listen to datacollector and health risk changes to update names? Or is there a better way to do this?

        public void Process(CaseReportFromUnknownDataCollectorReceived @event)
        {
            var healthRisk = _healthRisks.GetById(@event.HealthRiskId);
            var caseReport = new CaseReportForListing(@event.CaseReportId)
            {
                Status                       = CaseReportStatus.UnknownDataCollector,
                HealthRiskId                 = @event.HealthRiskId,
                HealthRisk                   = healthRisk.Name,
                NumberOfFemalesUnder5        = @event.NumberOfFemalesUnder5,
                NumberOfFemalesAged5AndOlder = @event.NumberOfFemalesAged5AndOlder,
                NumberOfMalesUnder5          = @event.NumberOfMalesUnder5,
                NumberOfMalesAged5AndOlder   = @event.NumberOfMalesAged5AndOlder,
                Timestamp                    = @event.Timestamp,
                Origin                       = @event.Origin,
                Message                      = @event.Message
            };

            _caseReports.Save(caseReport);
        }
コード例 #11
0
 public async Task Process(CaseReportReceived @event)
 {
     var dataCollector = _dataCollectors.GetById(@event.DataCollectorId);
     var healthRisk    = _healthRisks.GetById(@event.HealthRiskId);
     var caseReport    = new CaseReportForListing(@event.CaseReportId)
     {
         Status                   = CaseReportStatus.Success,
         DataCollectorId          = @event.DataCollectorId,
         DataCollectorDisplayName = dataCollector.DisplayName,
         HealthRiskId             = @event.HealthRiskId,
         HealthRisk               = healthRisk.Name,
         NumberOfFemalesAges0To4  = @event.NumberOfFemalesAges0To4,
         NumberOfFemalesAgedOver4 = @event.NumberOfFemalesAgedOver4,
         NumberOfMalesAges0To4    = @event.NumberOfMalesAges0To4,
         NumberOfMalesAgedOver4   = @event.NumberOfMalesAgedOver4,
         Location                 = new Location(@event.Latitude, @event.Longitude),
         Timestamp                = @event.Timestamp
     };
     await _caseReports.Save(caseReport);
 }
コード例 #12
0
        //QUESTION: Should we also listen to datacollector and health risk changes to update names? Or is there a better way to do this?

        public void Process(CaseReportFromUnknownDataCollectorReceived @event)
        {
            var healthRisk = _healthRisks.GetById(@event.HealthRiskId);
            var caseReport = new CaseReportForListing(@event.CaseReportId)
            {
                Status                       = CaseReportStatus.UnknownDataCollector,
                HealthRiskId                 = @event.HealthRiskId,
                HealthRisk                   = healthRisk.Name,
                NumberOfFemalesUnder5        = @event.NumberOfFemalesUnder5,
                NumberOfFemalesAged5AndOlder = @event.NumberOfFemalesAged5AndOlder,
                NumberOfMalesUnder5          = @event.NumberOfMalesUnder5,
                NumberOfMalesAged5AndOlder   = @event.NumberOfMalesAged5AndOlder,
                Timestamp                    = @event.Timestamp,
                Origin                       = @event.Origin,
                Message                      = @event.Message,
                DataCollectorDisplayName     = "Unknown",
                ParsingErrorMessage          = new List <string>(),
                Location                     = Location.NotSet
            };

            _caseReports.Save(caseReport);
        }
コード例 #13
0
        public async Task Save(CaseReportForListing caseReport)
        {
            var filter = Builders <CaseReportForListing> .Filter.Eq(c => c.Id, caseReport.Id);

            await _collection.ReplaceOneAsync(filter, caseReport, new UpdateOptions { IsUpsert = true });
        }
コード例 #14
0
 public void Save(CaseReportForListing caseReport)
 {
     _collection.ReplaceOne(_ => _.Id == caseReport.Id, caseReport, new UpdateOptions {
         IsUpsert = true
     });
 }