public void ContributeRecentInfoVehicle(IRecentInfoMessage message) { ContributionDetails contributionDetails; switch (message.OperationType) { case EventOperation.Create: case EventOperation.Update: // Find the entity PublicSafetyEntity entity; switch (message.ModuleType) { case ModuleType.CallForService: entity = GetPublicSafetyEntity <CallForServiceVehicle>(message.EntityId); break; default: entity = GetPublicSafetyEntity <PublicSafetyVehicle>(message.EntityId); break; } if (entity == null) { return; } // Build the Contribution contributionDetails = CreateContributionDetails(message.IdentityId, entity); var contributionData = entity.As <RecentVehicleDetails>(); var recentInfoType = TranslateModuleType(message.ModuleType); // Contribute Data ContributeVehicle(contributionDetails, recentInfoType, contributionData); break; case EventOperation.Delete: contributionDetails = CreateContributionDetails(message.EntityId, message.EntityType); RemoveVehicle(contributionDetails); break; default: LogInvalidOperation(); break; } }
public void ContributeRecentInfoPerson(IRecentInfoMessage message) { ContributionDetails contributionDetails; switch (message.OperationType) { case EventOperation.Create: case EventOperation.Update: // Find the entity var entity = GetPublicSafetyEntity <PublicSafetyPerson>(message.EntityId); if (entity == null) { return; } // Build the Contribution contributionDetails = CreateContributionDetails(message.IdentityId, entity); // map the entity data into a dto var contributionData = entity.As <RecentPersonDetails>(); var recentInfoType = TranslateModuleType(message.ModuleType); // Contribute Data ContributePerson(contributionDetails, recentInfoType, contributionData); break; case EventOperation.Delete: contributionDetails = CreateContributionDetails(message.EntityId, message.EntityType); RemovePerson(contributionDetails); break; default: LogInvalidOperation(); break; } }
public void ContributeRecentInfoEvent(IRecentInfoMessage message) { ContributionDetails contributionDetails; switch (message.OperationType) { case EventOperation.Create: case EventOperation.Update: // Find the entity var entity = GetPublicSafetyEntity <PublicSafetyEvent>(message.EntityId); if (entity == null) { return; } // Build the Contribution contributionDetails = CreateContributionDetails(message.IdentityId, entity); // map the entity data into a recent info dto var contributionData = entity.As <RecentEventDetails>(); var recentInfoType = TranslateModuleType(message.ModuleType); // Find the Number data from the Event's Report // Get the number data from the event's Report var reportData = ReportsUnitOfWork.GetEntityQuery <Report>() .Where(x => x.Event.Id == message.EntityId) .Select(item => new { item.Number, item.CaseNumber, item.Event }) .FirstOrDefault(); if (reportData == null) { Log.Error("Could not find Report for event '{0}'", message.EntityId); } else { contributionData.Number = reportData.Number; contributionData.CaseNumber = reportData.CaseNumber; //map extended data fields to recentinfo columns if (message.ModuleType == ModuleType.Incident && reportData.Event != null && reportData.Event.ExtendedData != null) { contributionData.EnrouteTimeStamp = reportData.Event.ExtendedData.Get <DateTime?>(TIME_ENROUTE); contributionData.DispatchedTimeStamp = reportData.Event.ExtendedData.Get <DateTime?>(TIME_ASSIGNED); contributionData.OnsceneTimeStamp = reportData.Event.ExtendedData.Get <DateTime?>(TIME_ARRIVED); contributionData.CompleteTimeStamp = reportData.Event.ExtendedData.Get <DateTime?>(DATE_CLEARED); contributionData.CallNumber = reportData.Event.ExtendedData.Get <string>(CALL_NUMBER); } } // Contribute Data ContributeEvent(contributionDetails, recentInfoType, contributionData); break; case EventOperation.Delete: // Build the Contribution Details contributionDetails = CreateContributionDetails(message.EntityId, message.EntityType); // Remove the Data RemoveEvent(contributionDetails); break; default: LogInvalidOperation(); break; } }