public async Task UpdateVehicleToDriveTypeChangeRequestIdAsync(int vehicleToDriveTypeId, long vehicleToDriveTypeChangeRequestId) { VehicleToDriveTypeDocument document = new VehicleToDriveTypeDocument { VehicleToDriveTypeId = vehicleToDriveTypeId.ToString(), VehicleToDriveTypeChangeRequestId = vehicleToDriveTypeChangeRequestId, }; await _vehicleToDriveTypeIndexingRepositoryService.UpdateDocumentAsync(document); }
public async Task AddChangeRequestIndexerAsync(long changeRequestId) { var driveTypeRepositoryService = _repositories.GetRepositoryService <DriveType>() as IVcdbSqlServerEfRepositoryService <DriveType>; if (driveTypeRepositoryService == null) { return; } var addedDriveTypes = await driveTypeRepositoryService.GetAsync( item => item.ChangeRequestId == changeRequestId, 100000 ); if (addedDriveTypes == null || !addedDriveTypes.Any()) { throw new InvalidOperationException( "Drive Type Index cannot be updated before the transactional table is updated"); } var addedDriveType = addedDriveTypes.First(); var vehicleToDriveTypeSearchResult = await _vehicletoDriveTypeSearchService.SearchAsync(null, $"driveTypeId eq {addedDriveType.Id}"); var existingVehicleToDriveTypeDocuments = vehicleToDriveTypeSearchResult.Documents; if (existingVehicleToDriveTypeDocuments != null && existingVehicleToDriveTypeDocuments.Any()) { throw new InvalidOperationException( "Drive Type already exisit in VehicleToDriveTypeIndex. So, this change request cannot be an add request"); } //MfrBodyCode is new and therefore not yet available in "vehicletoMfrBodyCode" azure search index VehicleToDriveTypeDocument newDriveTypeConfigDocument = new VehicleToDriveTypeDocument { VehicleToDriveTypeId = Guid.NewGuid().ToString(), DriveTypeId = addedDriveType.Id, DriveTypeName = addedDriveType.Name }; await this._vehicleToDriveTypeIndexingService.UploadDocumentAsync(newDriveTypeConfigDocument); }
private async Task InsertOrUpdateVehicleToDriveTypeDocuments(List <VehicleToDriveType> updatedVehicleToDriveTypes, bool isReplace = false) { if (updatedVehicleToDriveTypes == null) { return; } foreach (var updatedVehicleToDriveType in updatedVehicleToDriveTypes) //NOTE: updatedVehicles will contain more than 1 item when processing base vehicle replace { var vehicletoDriveTypeDocument = new VehicleToDriveTypeDocument { VehicleToDriveTypeId = updatedVehicleToDriveType.Id.ToString(), DriveTypeChangeRequestId = isReplace ? -1 : (long?)null, VehicleToDriveTypeChangeRequestId = -1, BaseVehicleId = updatedVehicleToDriveType.Vehicle.BaseVehicleId, DriveTypeId = updatedVehicleToDriveType.DriveType.Id, DriveTypeName = updatedVehicleToDriveType.DriveType.Name, MakeId = updatedVehicleToDriveType.Vehicle.BaseVehicle.MakeId, MakeName = updatedVehicleToDriveType.Vehicle.BaseVehicle.Make.Name, ModelId = updatedVehicleToDriveType.Vehicle.BaseVehicle.ModelId, ModelName = updatedVehicleToDriveType.Vehicle.BaseVehicle.Model.Name, RegionId = updatedVehicleToDriveType.Vehicle.RegionId, RegionName = updatedVehicleToDriveType.Vehicle.Region.Name, Source = updatedVehicleToDriveType.Vehicle.SourceName, SubModelId = updatedVehicleToDriveType.Vehicle.SubModelId, SubModelName = updatedVehicleToDriveType.Vehicle.SubModel.Name, VehicleId = updatedVehicleToDriveType.VehicleId, VehicleTypeGroupId = updatedVehicleToDriveType.Vehicle.BaseVehicle.Model.VehicleType.VehicleTypeGroupId, VehicleTypeGroupName = updatedVehicleToDriveType.Vehicle.BaseVehicle.Model.VehicleType.VehicleTypeGroup.Name, VehicleTypeId = updatedVehicleToDriveType.Vehicle.BaseVehicle.Model.VehicleTypeId, VehicleTypeName = updatedVehicleToDriveType.Vehicle.BaseVehicle.Model.VehicleType.Name, YearId = updatedVehicleToDriveType.Vehicle.BaseVehicle.YearId, }; await this._vehicleToDriveTypeIndexingService.UploadDocumentAsync(vehicletoDriveTypeDocument); } }
public async Task RejectChangeRequestIndexerAsync(long changeRequestId) { var vehicletoDriveTypeRepositoryService = _vcdbUnitOfWork.GetRepositoryService <VehicleToDriveType>() as IVcdbSqlServerEfRepositoryService <VehicleToDriveType>; if (vehicletoDriveTypeRepositoryService == null) { return; } var updatedVehicleToDriveTypes = await vehicletoDriveTypeRepositoryService.GetAsync(item => item.ChangeRequestId == changeRequestId); if (updatedVehicleToDriveTypes == null || !updatedVehicleToDriveTypes.Any()) { //Pushkar: need to test this condition throw new InvalidOperationException( "Vehicle To Drive Type cannot be updated before the transactional table is updated"); } foreach (var updatedVehicleToDriveType in updatedVehicleToDriveTypes) { var vehicletoDriveTypeDocument = new VehicleToDriveTypeDocument { VehicleToDriveTypeId = updatedVehicleToDriveType.Id.ToString(), VehicleToDriveTypeChangeRequestId = -1, }; await this._vehicleToDriveTypeIndexingService.UploadDocumentAsync(vehicletoDriveTypeDocument); } //Required when processing MfrBodyCode REPLACE CR await ClearDriveTypeChangeRequestId(changeRequestId); }
public async Task UploadDocumentAsync(VehicleToDriveTypeDocument vehicleToDriveTypeDocument) { await _vehicleToDriveTypeIndexingRepositoryService.UpdateDocumentAsync(vehicleToDriveTypeDocument); }
public async Task<DocumentIndexResult> UpdateDocumentAsync(VehicleToDriveTypeDocument vehicleToDriveTypeDocument) { return await UpdateDocumentsAsync(new List<VehicleToDriveTypeDocument> { vehicleToDriveTypeDocument }); }
public Task UploadDocumentAsync(VehicleToDriveTypeDocument vehicleToDriveTypeDocument) { throw new NotImplementedException(); }