public async Task ExecuteAsync() { try { bool recordExists; switch (ButtonName) { case Constant.Buttons.VALIDATE: Logger.LogDebug($"{Constant.Names.ApplicationName} - {Constant.Buttons.VALIDATE} button clicked."); recordExists = await DoesRecordExistAsync(); if (recordExists == false) { await DeleteJobErrors(SvcManager, IdentityCurrentUser, WorkspaceArtifactId, CurrentArtifactId); //Add the record to the Import Manager queue table var resourceGroupId = await ArtifactQueries.GetResourcePoolArtifactIdAsync(SvcManager, IdentitySystem, WorkspaceArtifactId); await SqlQueryHelper.InsertRowIntoImportManagerQueueAsync(DbContextEdds, WorkspaceArtifactId, 1, CurrentUserArtifactId, CurrentArtifactId, resourceGroupId, SelectedObjectType, Constant.ImportUtilityJob.JobType.VALIDATE); //Set the Import Job RDO status to Validating await UpdateJobStatusAsync(SvcManager, WorkspaceArtifactId, IdentityCurrentUser, Constant.Guids.ObjectType.ImportUtilityJob, CurrentArtifactId, Constant.Guids.Field.ImportUtilityJob.Status, Constant.Status.Job.SUBMITTED); } break; case Constant.Buttons.SUBMIT: Logger.LogDebug($"{Constant.Names.ApplicationName} - {Constant.Buttons.SUBMIT} button clicked."); recordExists = await DoesRecordExistAsync(); if (recordExists == false) { await DeleteJobErrors(SvcManager, IdentityCurrentUser, WorkspaceArtifactId, CurrentArtifactId); //Add the record to the Import Manager queue table Int32 resourceGroupId = await ArtifactQueries.GetResourcePoolArtifactIdAsync(SvcManager, IdentitySystem, WorkspaceArtifactId); await SqlQueryHelper.InsertRowIntoImportManagerQueueAsync(DbContextEdds, WorkspaceArtifactId, 1, CurrentUserArtifactId, CurrentArtifactId, resourceGroupId, SelectedObjectType, Constant.ImportUtilityJob.JobType.VALIDATE_SUBMIT); //Set the Import Job RDO status to Validating await UpdateJobStatusAsync(SvcManager, WorkspaceArtifactId, IdentityCurrentUser, Constant.Guids.ObjectType.ImportUtilityJob, CurrentArtifactId, Constant.Guids.Field.ImportUtilityJob.Status, Constant.Status.Job.SUBMITTED); //Mark job as being submitted for migration await ArtifactQueries.MarkImportJobAsSubmittedForMigration(SvcManager, IdentityCurrentUser, WorkspaceArtifactId, CurrentArtifactId); } break; case Constant.Buttons.CANCEL: Logger.LogDebug($"{Constant.Names.ApplicationName} - {Constant.Buttons.CANCEL} button clicked."); var id = await RetrieveIdByArtifactIdAsync(); if (id > 0) { //Set the Import Job RDO status to Cancel Requested await ArtifactQueries.UpdateRdoJobTextFieldAsync(SvcManager, WorkspaceArtifactId, IdentityCurrentUser, Constant.Guids.ObjectType.ImportUtilityJob, CurrentArtifactId, Constant.Guids.Field.ImportUtilityJob.Status, Constant.Status.Job.CANCELREQUESTED); //Set the Import Job record in the Manager Queue to Cancel Requested await UpdateJobStatusInManagerQueueAsync(DbContextEdds, WorkspaceArtifactId, CurrentArtifactId, Constant.Status.Queue.CANCELLATION_REQUESTED); } break; } } catch (AdminMigrationUtilityException ex) { throw new AdminMigrationUtilityException(ex.Message); } }