Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }