コード例 #1
0
        public async Task UpdateVehicleToBedConfigChangeRequestIdAsync(int vehicleToBedConfigId, long vehicleToBedConfigChangeRequestId)
        {
            VehicleToBedConfigDocument document = new VehicleToBedConfigDocument
            {
                VehicleToBedConfigId = vehicleToBedConfigId.ToString(),
                VehicleToBedConfigChangeRequestId = vehicleToBedConfigChangeRequestId,
            };

            await _vehicleToBedConfigIndexingRepositoryService.UpdateDocumentAsync(document);
        }
コード例 #2
0
        public async Task AddChangeRequestIndexerAsync(long changeRequestId)
        {
            var bedConfigRepositoryService =
                _vcdbUnitOfWork.GetRepositoryService <BedConfig>() as
                IVcdbSqlServerEfRepositoryService <BedConfig>;

            if (bedConfigRepositoryService == null)
            {
                return;
            }

            var addedBedConfigs =
                await
                bedConfigRepositoryService.GetAsync(
                    item => item.ChangeRequestId == changeRequestId, 100000,
                    "BedLength",
                    "BedType");

            if (addedBedConfigs == null || !addedBedConfigs.Any())
            {
                throw new InvalidOperationException(
                          "Bed Config Index cannot be updated before the transactional table is updated");
            }

            var addedBedConfig = addedBedConfigs.First();
            var vehicleToBedConfigSearchResult =
                await
                _vehicletoBedConfigSearchService.SearchAsync(null,
                                                             $"bedConfigId eq {addedBedConfig.Id}");

            var existingVehicleToBedConfigDocuments = vehicleToBedConfigSearchResult.Documents;

            if (existingVehicleToBedConfigDocuments != null && existingVehicleToBedConfigDocuments.Any())
            {
                throw new InvalidOperationException(
                          "BedConfig already exisit in VehicleToBedConfigIndex. So, this change request cannot be an add request");
            }

            //bed config is new and therefore not yet available in "vehicletobedconfigs" azure search index
            VehicleToBedConfigDocument newVehicleToBedConfigDocument = new VehicleToBedConfigDocument
            {
                VehicleToBedConfigId = Guid.NewGuid().ToString(),
                BedConfigId          = addedBedConfig.Id,
                BedLengthId          = addedBedConfig.BedLengthId,
                BedLength            = addedBedConfig.BedLength.Length,
                BedLengthMetric      = addedBedConfig.BedLength.BedLengthMetric,
                BedTypeId            = addedBedConfig.BedTypeId,
                BedTypeName          = addedBedConfig.BedType.Name
            };

            await this._vehicleToBedConfigIndexingService.UploadDocumentAsync(newVehicleToBedConfigDocument);
        }
コード例 #3
0
        private async Task InsertOrUpdateVehicleToBedConfigDocuments(List <VehicleToBedConfig> updatedVehicleToBedConfigs, bool isReplace = false)
        {
            if (updatedVehicleToBedConfigs == null)
            {
                return;
            }

            foreach (var updatedVehicleToBedConfig in updatedVehicleToBedConfigs)
            //NOTE: updatedVehicles will contain more than 1 item when processing base vehicle replace
            {
                var vehicletoBedConfigDocument = new VehicleToBedConfigDocument
                {
                    VehicleToBedConfigId              = updatedVehicleToBedConfig.Id.ToString(),
                    BedConfigChangeRequestId          = isReplace ? -1 : (long?)null,
                    VehicleToBedConfigChangeRequestId = -1,
                    BaseVehicleId      = updatedVehicleToBedConfig.Vehicle.BaseVehicleId,
                    BedTypeId          = updatedVehicleToBedConfig.BedConfig.BedTypeId,
                    BedTypeName        = updatedVehicleToBedConfig.BedConfig.BedType.Name,
                    BedLengthId        = updatedVehicleToBedConfig.BedConfig.BedTypeId,
                    BedLength          = updatedVehicleToBedConfig.BedConfig.BedLength.Length,
                    BedLengthMetric    = updatedVehicleToBedConfig.BedConfig.BedLength.BedLengthMetric,
                    BedConfigId        = updatedVehicleToBedConfig.BedConfigId,
                    MakeId             = updatedVehicleToBedConfig.Vehicle.BaseVehicle.MakeId,
                    MakeName           = updatedVehicleToBedConfig.Vehicle.BaseVehicle.Make.Name,
                    ModelId            = updatedVehicleToBedConfig.Vehicle.BaseVehicle.ModelId,
                    ModelName          = updatedVehicleToBedConfig.Vehicle.BaseVehicle.Model.Name,
                    RegionId           = updatedVehicleToBedConfig.Vehicle.RegionId,
                    RegionName         = updatedVehicleToBedConfig.Vehicle.Region.Name,
                    Source             = updatedVehicleToBedConfig.Vehicle.SourceName,
                    SubModelId         = updatedVehicleToBedConfig.Vehicle.SubModelId,
                    SubModelName       = updatedVehicleToBedConfig.Vehicle.SubModel.Name,
                    VehicleId          = updatedVehicleToBedConfig.VehicleId,
                    VehicleTypeGroupId =
                        updatedVehicleToBedConfig.Vehicle.BaseVehicle.Model.VehicleType.VehicleTypeGroupId,
                    VehicleTypeGroupName =
                        updatedVehicleToBedConfig.Vehicle.BaseVehicle.Model.VehicleType.VehicleTypeGroup.Name,
                    VehicleTypeId   = updatedVehicleToBedConfig.Vehicle.BaseVehicle.Model.VehicleTypeId,
                    VehicleTypeName = updatedVehicleToBedConfig.Vehicle.BaseVehicle.Model.VehicleType.Name,
                    YearId          = updatedVehicleToBedConfig.Vehicle.BaseVehicle.YearId,
                };

                await
                this._vehicleToBedConfigIndexingService.UploadDocumentAsync(vehicletoBedConfigDocument);
            }
        }
コード例 #4
0
        public async Task RejectChangeRequestIndexerAsync(long changeRequestId)
        {
            var vehicletoBedConfigRepositoryService =
                _vcdbUnitOfWork.GetRepositoryService <VehicleToBedConfig>() as
                IVcdbSqlServerEfRepositoryService <VehicleToBedConfig>;

            if (vehicletoBedConfigRepositoryService == null)
            {
                return;
            }

            var updatedVehicleToBedConfigs =
                await
                vehicletoBedConfigRepositoryService.GetAsync(item => item.ChangeRequestId == changeRequestId);


            if (updatedVehicleToBedConfigs == null || !updatedVehicleToBedConfigs.Any())
            {
                //Pushkar: need to test this condition
                throw new InvalidOperationException(
                          "Vehicle To Bed Config Index cannot be updated before the transactional table is updated");
            }

            foreach (var updatedVehicleToBedConfig in updatedVehicleToBedConfigs)
            {
                var vehicletoBedConfigDocument = new VehicleToBedConfigDocument
                {
                    VehicleToBedConfigId = updatedVehicleToBedConfig.Id.ToString(),
                    VehicleToBedConfigChangeRequestId = -1,
                };

                await
                this._vehicleToBedConfigIndexingService.UploadDocumentAsync(vehicletoBedConfigDocument);
            }

            //Required when processing bedconfig REPLACE CR
            await ClearBedConfigChangeRequestId(changeRequestId);
        }
 public async Task <DocumentIndexResult> UpdateDocumentAsync(VehicleToBedConfigDocument vehicleToBedConfigDocument)
 {
     return(await UpdateDocumentsAsync(new List <VehicleToBedConfigDocument> {
         vehicleToBedConfigDocument
     }));
 }
 public Task UploadDocumentAsync(VehicleToBedConfigDocument vehicleToBedConfigDocument)
 {
     throw new NotImplementedException();
 }
コード例 #7
0
 public async Task UploadDocumentAsync(VehicleToBedConfigDocument vehicleToBedConfigDocument)
 {
     await _vehicleToBedConfigIndexingRepositoryService.UpdateDocumentAsync(vehicleToBedConfigDocument);
 }