public async void UpdateDocument_AllExistingVehicleToBodyStyleConfigs_Test() { var vehicleToBodyStyleConfigRepo = new VehicleToBodyStyleConfigIndexingRepositoryService(); var context = new VehicleConfigurationContext(); context.Database.CommandTimeout = 0; bool isEndReached = false; int batch = 0; do { var vehicleToBodyStyleConfigsBatch = context.VehicleToBodyStyleConfigs.OrderBy(item => item.Id).Skip(batch * 1000).Take(1000); var documents = vehicleToBodyStyleConfigsBatch.Select(item => new VehicleToBodyStyleConfigDocument { VehicleToBodyStyleConfigId = item.Id.ToString(), BaseVehicleId = item.Vehicle.BaseVehicleId, BodyStyleConfigChangeRequestId = item.BodyStyleConfig.ChangeRequestId, BodyStyleConfigId = item.BodyStyleConfigId, BodyTypeId = item.BodyStyleConfig.BodyTypeId, BodyTypeName = item.BodyStyleConfig.BodyType.Name, BodyNumDoorsId = item.BodyStyleConfig.BodyNumDoorsId, BodyNumDoors = item.BodyStyleConfig.BodyNumDoors.NumDoors, MakeId = item.Vehicle.BaseVehicle.MakeId, MakeName = item.Vehicle.BaseVehicle.Make.Name, ModelId = item.Vehicle.BaseVehicle.ModelId, ModelName = item.Vehicle.BaseVehicle.Model.Name, YearId = item.Vehicle.BaseVehicle.YearId, RegionId = item.Vehicle.RegionId, RegionName = item.Vehicle.Region.Name, SubModelId = item.Vehicle.SubModelId, SubModelName = item.Vehicle.SubModel.Name, VehicleId = item.VehicleId, VehicleToBodyStyleConfigChangeRequestId = item.ChangeRequestId, VehicleTypeGroupId = item.Vehicle.BaseVehicle.Model.VehicleType.VehicleTypeGroupId, VehicleTypeGroupName = item.Vehicle.BaseVehicle.Model.VehicleType.VehicleTypeGroup.Name, VehicleTypeId = item.Vehicle.BaseVehicle.Model.VehicleTypeId, VehicleTypeName = item.Vehicle.BaseVehicle.Model.VehicleType.Name, }).ToList(); if (documents != null && documents.Any()) { DocumentIndexResult result = await vehicleToBodyStyleConfigRepo.UpdateDocumentsAsync(documents); Assert.NotNull(result); Assert.True(result.Results.Count > 0); Assert.True(result.Results.All(item => item.Succeeded == true)); } else { isEndReached = true; } batch++; }while (!isEndReached); }
public async void UpdateDocument_AllExistingCR_Test() { var driveTypeRepo = new VehicleToDriveTypeIndexingRepositoryService(); var context = new VehicleConfigurationContext(); bool isEndReached = false; int batch = 0; //Current count: //int batch = 17; //Use this if requried: context.Database.CommandTimeout = 180; do { var vehicleToDriveTypeBatch = context.VehicleToDriveTypes .Where(x => (x.DriveTypeId.Equals(11) || x.DriveTypeId.Equals(12))) .OrderBy(item => item.Id) .Skip(batch * 1000).Take(1000); var documents = vehicleToDriveTypeBatch.Select(item => new VehicleToDriveTypeDocument { VehicleToDriveTypeId = item.Id.ToString(), VehicleId = item.Vehicle.Id, BaseVehicleId = item.Vehicle.BaseVehicleId, MakeId = item.Vehicle.BaseVehicle.MakeId, MakeName = item.Vehicle.BaseVehicle.Make.Name, ModelId = item.Vehicle.BaseVehicle.ModelId, ModelName = item.Vehicle.BaseVehicle.Model.Name, YearId = item.Vehicle.BaseVehicle.YearId, SubModelId = item.Vehicle.SubModelId, SubModelName = item.Vehicle.SubModel.Name, RegionId = item.Vehicle.RegionId, RegionName = item.Vehicle.Region.Name, VehicleTypeId = item.Vehicle.BaseVehicle.Model.VehicleTypeId, VehicleTypeName = item.Vehicle.BaseVehicle.Model.VehicleType.Name, VehicleTypeGroupId = item.Vehicle.BaseVehicle.Model.VehicleType.VehicleTypeGroupId, VehicleTypeGroupName = item.Vehicle.BaseVehicle.Model.VehicleType.VehicleTypeGroup.Name, DriveTypeId = item.DriveTypeId, DriveTypeName = item.DriveType.Name, Source = "", DriveTypeChangeRequestId = item.DriveType.ChangeRequestId, VehicleToDriveTypeChangeRequestId = item.ChangeRequestId }).ToList(); if (documents != null && documents.Any()) { DocumentIndexResult result = await driveTypeRepo.UpdateDocumentsAsync(documents); Assert.NotNull(result); Assert.True(result.Results.Count > 0); Assert.True(result.Results.All(item => item.Succeeded == true)); } else { isEndReached = true; } batch++; }while (!isEndReached); //upload brakeconfigs that do not have any vehicletobrakeconfigs isEndReached = false; batch = 0; do { var vehicleToDriveTypeBatch = context.DriveTypes.Where(item => item.VehicleToDriveTypes.Count == 0).OrderBy(item => item.Id).Skip(batch * 1000).Take(1000); var documents = vehicleToDriveTypeBatch.Select(item => new VehicleToDriveTypeDocument { VehicleToDriveTypeId = Guid.NewGuid().ToString(), DriveTypeId = item.Id, DriveTypeName = item.Name, DriveTypeChangeRequestId = item.ChangeRequestId }).ToList(); if (documents != null && documents.Any()) { DocumentIndexResult result = await driveTypeRepo.UpdateDocumentsAsync(documents); Assert.NotNull(result); Assert.True(result.Results.Count > 0); Assert.True(result.Results.All(item => item.Succeeded == true)); } else { isEndReached = true; } batch++; }while (!isEndReached); }
public async void UpdateDocument_AllExistingVehicleToBedConfigs_Test() { var vehicleToBedConfigRepo = new VehicleToBedConfigIndexingRepositoryService(); var context = new VehicleConfigurationContext(); context.Database.CommandTimeout = 180; bool isEndReached = false; int batch = 0; do { var vehicleToBedConfigsBatch = context.VehicleToBedConfigs.OrderBy(item => item.Id).Skip(batch * 1000).Take(1000); var documents = vehicleToBedConfigsBatch.Select(item => new VehicleToBedConfigDocument { VehicleToBedConfigId = item.Id.ToString(), BaseVehicleId = item.Vehicle.BaseVehicleId, BedConfigChangeRequestId = item.BedConfig.ChangeRequestId, BedConfigId = item.BedConfigId, BedLength = item.BedConfig.BedLength.Length, BedLengthId = item.BedConfig.BedLengthId, BedLengthMetric = item.BedConfig.BedLength.BedLengthMetric, BedTypeId = item.BedConfig.BedTypeId, BedTypeName = item.BedConfig.BedType.Name, MakeId = item.Vehicle.BaseVehicle.MakeId, MakeName = item.Vehicle.BaseVehicle.Make.Name, ModelId = item.Vehicle.BaseVehicle.ModelId, ModelName = item.Vehicle.BaseVehicle.Model.Name, YearId = item.Vehicle.BaseVehicle.YearId, RegionId = item.Vehicle.RegionId, RegionName = item.Vehicle.Region.Name, Source = null, SubModelId = item.Vehicle.SubModelId, SubModelName = item.Vehicle.SubModel.Name, VehicleId = item.VehicleId, VehicleToBedConfigChangeRequestId = item.ChangeRequestId, VehicleTypeGroupId = item.Vehicle.BaseVehicle.Model.VehicleType.VehicleTypeGroupId, VehicleTypeGroupName = item.Vehicle.BaseVehicle.Model.VehicleType.VehicleTypeGroup.Name, VehicleTypeId = item.Vehicle.BaseVehicle.Model.VehicleTypeId, VehicleTypeName = item.Vehicle.BaseVehicle.Model.VehicleType.Name, }).ToList(); if (documents != null && documents.Any()) { DocumentIndexResult result = await vehicleToBedConfigRepo.UpdateDocumentsAsync(documents); Assert.NotNull(result); Assert.True(result.Results.Count > 0); Assert.True(result.Results.All(item => item.Succeeded == true)); } else { isEndReached = true; } batch++; }while (!isEndReached); //upload brakeconfigs that do not have any vehicletobrakeconfigs isEndReached = false; batch = 0; do { var brakeConfigsBatch = context.BedConfigs.Where(item => item.VehicleToBedConfigs.Count == 0).OrderBy(item => item.Id).Skip(batch * 1000).Take(1000); var documents = brakeConfigsBatch.Select(item => new VehicleToBedConfigDocument { VehicleToBedConfigId = Guid.NewGuid().ToString(), BedConfigId = item.Id, BedLength = item.BedLength.Length, BedLengthId = item.BedLengthId, BedLengthMetric = item.BedLength.BedLengthMetric, BedTypeId = item.BedTypeId, BedTypeName = item.BedType.Name, BedConfigChangeRequestId = item.ChangeRequestId, }).ToList(); if (documents != null && documents.Any()) { DocumentIndexResult result = await vehicleToBedConfigRepo.UpdateDocumentsAsync(documents); Assert.NotNull(result); Assert.True(result.Results.Count > 0); Assert.True(result.Results.All(item => item.Succeeded == true)); } else { isEndReached = true; } batch++; }while (!isEndReached); }
public async void UpdateDocument_AllExistingCR_Test() { var changeRequestRepo = new ChangeRequestIndexingRepositoryService(); var context = new VehicleConfigurationContext(); bool isEndReached = false; int batch = 0; do { var changeRequestStaging = context.ChangeRequestStagings.OrderBy(item => item.Id).Skip(batch * 1000).Take(1000); var documents = changeRequestStaging.Select(item => new ChangeRequestDocument { ChangeRequestId = item.Id.ToString(), //Assignee = (item.ChangeRequestAssignmentStagings != null && item.ChangeRequestAssignmentStagings.Any()) ? item.ChangeRequestAssignmentStagings.OrderByDescending(a => a.Id).First().AssignedByUserId : null, ChangeRequestTypeId = item.ChangeRequestTypeId, Entity = item.Entity, ChangeType = item.ChangeType.ToString(), Status = (short)item.Status, StatusText = item.Status.ToString(), RequestedBy = item.RequestedBy, Likes = item.LikesStagings.Count, SubmittedDate = item.CreatedDateTime, Source = null, CommentExists = (item.CommentsStagings.Count > 0) ? true : false }).ToList(); if (documents != null && documents.Any()) { DocumentIndexResult result = await changeRequestRepo.UpdateDocumentAsync(documents); Assert.NotNull(result); Assert.True(result.Results.Count > 0); Assert.True(result.Results.All(item => item.Succeeded == true)); } else { isEndReached = true; } batch++; }while (!isEndReached); //update data from change request store batch = 0; isEndReached = false; do { var changeRequestStore = context.ChangeRequestStores.OrderBy(item => item.Id).Skip(batch * 1000).Take(1000); var documents = changeRequestStore.Select(item => new ChangeRequestDocument { ChangeRequestId = item.Id.ToString(), //Assignee = (item.ChangeRequestAssignments != null && item.ChangeRequestAssignments.Any()) ? item.ChangeRequestAssignments.OrderByDescending(a => a.Id).First().AssignedByUserId : null, ChangeRequestTypeId = item.ChangeRequestTypeId, Entity = item.Entity, ChangeType = item.ChangeType.ToString(), Status = (short)item.Status, StatusText = item.Status.ToString(), RequestedBy = item.RequestedBy, //Likes = item.Likes != null ? item.Likes.Count : 0, Likes = item.Likes.Count, SubmittedDate = item.RequestedDateTime, UpdatedDate = item.CompletedDateTime, Source = null, CommentExists = (item.Comments.Count > 0) ? true : false }).ToList(); if (documents != null && documents.Any()) { DocumentIndexResult result = await changeRequestRepo.UploadDocumentsAsync(documents); Assert.NotNull(result); Assert.True(result.Results.Count > 0); Assert.True(result.Results.All(item => item.Succeeded == true)); } else { isEndReached = true; } batch++; }while (!isEndReached); }