コード例 #1
0
        /// <summary>
        /// Process a vehicle
        /// </summary>
        public long?Process(PublicSafetyVehicle vehicle)
        {
            var link = 0;

            vehicle.MasterVehicleId = _masterVehicleResolver.Resolve(vehicle);
            try
            {
                // invoke classic rms procs for master vehicle processing.
                link = new ProcessMasterVehicle(vehicle).Execute(_vsiData.Database);
            }
            catch (Exception e)
            {
                #region Handle Failure
                // TODO: Evaluate how the system should behave when unable to communicate with the classic system.
                // TODO: Should we set the link to null to indicate the vehicle has yet to be processed?
                // TODO: We may want to only set it to null if it is not already a proper value, so we don't
                // TODO: lose a valid link just because we cannot communicate with classic.

                var log = LogProvider.Get <MasterVehicleProcessor>();
                log.Error("Failed to process vehicle: " + Environment.NewLine + e);
                // TODO: What is a "valid" link? >0?  Do we need to do Anything?
                if (!vehicle.MasterVehicleId.HasValue || vehicle.MasterVehicleId < 1)
                {
                    link = 0;
                }
                #endregion
            }

            // Set the Link
            vehicle.SetMasterIndexLink(link);

            // Return the link for quick reference
            return(vehicle.MasterVehicleId);
        }
コード例 #2
0
        public void ProcessMasterIndexes_Vehicles_AsEntity()
        {
            _vehicleProcessor.Setup(mock => mock.Process(It.IsAny <PublicSafetyVehicle>()));
            PublicSafetyVehicle entity = new PublicSafetyVehicle(Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid());

            masterIndexServiceObj.ProcessMasterIndexes <PublicSafetyVehicle>(entity);
            _vehicleProcessor.VerifyAll();
        }
コード例 #3
0
        private void SetUpIncidentVehicle()
        {
            var incidentVehicle = new PublicSafetyVehicle(DataEntryUnitTestFixture.IdentityId, DataEntryUnitTestFixture.AgencyDetails.Id, Guid.NewGuid());

            _summariesUnitOfWork.Setup(mock => mock.Find <PublicSafetyVehicle>(It.IsAny <Guid>(), It.IsAny <TrackingMode>(), It.IsAny <ThrowIf>()))
            .Returns(incidentVehicle);
            _incidentSummary.Vehicles.Add(incidentVehicle);
            _incidentVehicleId = incidentVehicle.Id;
        }
コード例 #4
0
        public long?Resolve(PublicSafetyVehicle vehicle)
        {
            var masterVehicleId = 0;

            if (vehicle.Vin != null)
            {
                masterVehicleId = _vsiData.Master_Vehicle.Where(x => x.VIN == vehicle.Vin).Select(x => x.Master_Vehicle_Link).FirstOrDefault();
            }
            return(masterVehicleId);
        }
コード例 #5
0
        public void FindArrestVehicle()
        {
            //Arrange
            var publicSafetyVehicle = new PublicSafetyVehicle(DataEntryUnitTestFixture.IdentityId, DataEntryUnitTestFixture.AgencyDetails.Id, Guid.NewGuid());

            summariesUnitOfWork.Setup(mock => mock.Find <PublicSafetyVehicle>(It.IsAny <Guid>(), It.IsAny <TrackingMode>(), It.IsAny <ThrowIf>())).Returns(publicSafetyVehicle);
            //Act
            var arrestVehicle = arrestSummaryQueryService.FindArrestVehicle(It.IsAny <Guid>());

            //Assert
            arrestVehicle.Should().NotBeNull();
        }
コード例 #6
0
 private void ProcessVehicle(PublicSafetyVehicle vehicle)
 {
     _vehicleProcessor.Process(vehicle);
 }
コード例 #7
0
 public ProcessMasterVehicle(PublicSafetyVehicle vehicle)
 {
     _vehicle = vehicle;
 }