public async Task UpdateVehicleToWheelBaseChangeRequestIdAsync(string vehicleToWheelBaseId, long vehicleToWheelBaseChangeRequestId) { VehicleToWheelBaseDocument document = new VehicleToWheelBaseDocument { VehicleToWheelBaseId = vehicleToWheelBaseId.ToString(), VehicleToWheelBaseChangeRequestId = vehicleToWheelBaseChangeRequestId, }; await _vehicleToWheelBaseIndexingRepositoryService.UpdateDocumentAsync(document); }
public async Task AddChangeRequestIndexerAsync(long changeRequestId) { var wheelBaseRepositoryService = _vcdbUnitOfWork.GetRepositoryService <WheelBase>() as IVcdbSqlServerEfRepositoryService <WheelBase>; if (wheelBaseRepositoryService == null) { return; } var addedWheelBases = await wheelBaseRepositoryService.GetAsync( item => item.ChangeRequestId == changeRequestId, 100000 ); if (addedWheelBases == null || !addedWheelBases.Any()) { throw new InvalidOperationException( "WheelBase Index cannot be updated before the transactional table is updated"); } var addedWheelBase = addedWheelBases.First(); var vehicleToWheelBaseSearchResult = await _vehicletoWheelBaseSearchService.SearchAsync(null, $"wheelBaseId eq {addedWheelBase.Id}"); var existingVehicleToWheelBaseDocuments = vehicleToWheelBaseSearchResult.Documents; if (existingVehicleToWheelBaseDocuments != null && existingVehicleToWheelBaseDocuments.Any()) { throw new InvalidOperationException( "WheelBase already exisit in VehicleToWheelBaseIndex. So, this change request cannot be an add request"); } //WheelBase is new and therefore not yet available in "vehicletoWheelBase" azure search index VehicleToWheelBaseDocument newVehicleToWheelBaseDocument = new VehicleToWheelBaseDocument { VehicleToWheelBaseId = Guid.NewGuid().ToString(), WheelBaseId = addedWheelBase.Id, WheelBaseName = addedWheelBase.Base, WheelBaseMetric = addedWheelBase.WheelBaseMetric, }; await this._vehicleToWheelBaseIndexingService.UploadDocumentAsync(newVehicleToWheelBaseDocument); }
private async Task InsertOrUpdateVehicleToWheelBaseDocuments(List <VehicleToWheelBase> updatedVehicleToWheelBases, bool isReplace = false) { if (updatedVehicleToWheelBases == null) { return; } foreach (var updatedVehicleToWheelBase in updatedVehicleToWheelBases) //NOTE: updatedVehicles will contain more than 1 item when processing base vehicle replace { var vehicletoWheelBaseDocument = new VehicleToWheelBaseDocument { VehicleToWheelBaseId = updatedVehicleToWheelBase.Id.ToString(), WheelBaseChangeRequestId = isReplace ? -1 : (long?)null, VehicleToWheelBaseChangeRequestId = -1, BaseVehicleId = updatedVehicleToWheelBase.Vehicle.BaseVehicleId, WheelBaseName = updatedVehicleToWheelBase.WheelBase.Base, WheelBaseMetric = updatedVehicleToWheelBase.WheelBase.WheelBaseMetric, WheelBaseId = updatedVehicleToWheelBase.WheelBaseId, MakeId = updatedVehicleToWheelBase.Vehicle.BaseVehicle.MakeId, MakeName = updatedVehicleToWheelBase.Vehicle.BaseVehicle.Make.Name, ModelId = updatedVehicleToWheelBase.Vehicle.BaseVehicle.ModelId, ModelName = updatedVehicleToWheelBase.Vehicle.BaseVehicle.Model.Name, RegionId = updatedVehicleToWheelBase.Vehicle.RegionId, RegionName = updatedVehicleToWheelBase.Vehicle.Region.Name, Source = updatedVehicleToWheelBase.Vehicle.SourceName, SubModelId = updatedVehicleToWheelBase.Vehicle.SubModelId, SubModelName = updatedVehicleToWheelBase.Vehicle.SubModel.Name, VehicleId = updatedVehicleToWheelBase.VehicleId, VehicleTypeGroupId = updatedVehicleToWheelBase.Vehicle.BaseVehicle.Model.VehicleType.VehicleTypeGroupId, VehicleTypeGroupName = updatedVehicleToWheelBase.Vehicle.BaseVehicle.Model.VehicleType.VehicleTypeGroup.Name, VehicleTypeId = updatedVehicleToWheelBase.Vehicle.BaseVehicle.Model.VehicleTypeId, VehicleTypeName = updatedVehicleToWheelBase.Vehicle.BaseVehicle.Model.VehicleType.Name, YearId = updatedVehicleToWheelBase.Vehicle.BaseVehicle.YearId, }; await this._vehicleToWheelBaseIndexingService.UploadDocumentAsync(vehicletoWheelBaseDocument); } }
public async Task RejectChangeRequestIndexerAsync(long changeRequestId) { var vehicletoWheelBaseRepositoryService = _vcdbUnitOfWork.GetRepositoryService <VehicleToWheelBase>() as IVcdbSqlServerEfRepositoryService <VehicleToWheelBase>; if (vehicletoWheelBaseRepositoryService == null) { return; } var updatedVehicleToWheelBases = await vehicletoWheelBaseRepositoryService.GetAsync(item => item.ChangeRequestId == changeRequestId); if (updatedVehicleToWheelBases == null || !updatedVehicleToWheelBases.Any()) { //Pushkar: need to test this condition throw new InvalidOperationException( "Vehicle To Wheel Base Index cannot be updated before the transactional table is updated"); } foreach (var updatedVehicleToWheelBase in updatedVehicleToWheelBases) { var vehicletoWheelBaseDocument = new VehicleToWheelBaseDocument { VehicleToWheelBaseId = updatedVehicleToWheelBase.Id.ToString(), VehicleToWheelBaseChangeRequestId = -1, }; await this._vehicleToWheelBaseIndexingService.UploadDocumentAsync(vehicletoWheelBaseDocument); } //Required when processing WheelBase REPLACE CR await ClearWheelBaseChangeRequestId(changeRequestId); }
public async Task <DocumentIndexResult> UpdateDocumentAsync(VehicleToWheelBaseDocument vehicleToWheelBaseDocument) { return(await UpdateDocumentsAsync(new List <VehicleToWheelBaseDocument> { vehicleToWheelBaseDocument })); }
public Task UploadDocumentAsync(VehicleToWheelBaseDocument vehicleToWheelBaseDocument) { throw new NotImplementedException(); }
public async Task UploadDocumentAsync(VehicleToWheelBaseDocument vehicleToWheelBaseDocument) { await _vehicleToWheelBaseIndexingRepositoryService.UpdateDocumentAsync(vehicleToWheelBaseDocument); }