/// <summary> /// Finalizes changes to objects to ensure that they have the correct state. /// </summary> internal void FinalizeChanges() { foreach (EntityObject entity in this.GetObjectsInState(EntityState.Added | EntityState.Modified).Where(x => x != null)) { // Check modified resources and metadata to see if they have been orphaned // If so, change their entity state to Deleted VirtualResource resource = entity as VirtualResource; if (resource != null && resource.EnterpriseScenarioId == Guid.Empty) { DeleteObject(resource); continue; } VirtualResourceMetadata metadata = entity as VirtualResourceMetadata; if (metadata != null && metadata.VirtualResourceId == Guid.Empty) { DeleteObject(metadata); continue; } VirtualResourceMetadataRetrySetting setting = entity as VirtualResourceMetadataRetrySetting; if (setting != null && setting.VirtualResourceMetadataId == Guid.Empty) { DeleteObject(setting); continue; } // Check object to see if there are actually any changed properties // If nothing has been modified, the state will be changed back to unchanged this.CheckIfModified(entity); } }
private void UpdateDefinition(int rowIndex, PluginResult activityUpdateType) { ComboBox actionCombo = (ComboBox)main_TableLayoutPanel.GetControlFromPosition(ACTION_COLUMN, rowIndex); TextBox retryTextBox = (TextBox)main_TableLayoutPanel.GetControlFromPosition(RETRY_LIMIT_COLUMN, rowIndex); var delayTimeSpan = (HP.ScalableTest.Framework.UI.TimeSpanControl)main_TableLayoutPanel.GetControlFromPosition(RETRY_DELAY_COLUMN, rowIndex); ComboBox retryActionCombo = (ComboBox)main_TableLayoutPanel.GetControlFromPosition(RETRY_ACTION_COLUMN, rowIndex); // Add it to all of the configurations foreach (var c in _configurations) { VirtualResourceMetadataRetrySetting retrySetting = new VirtualResourceMetadataRetrySetting(); retrySetting.SettingId = SequentialGuid.NewGuid(); retrySetting.State = activityUpdateType.ToString(); retrySetting.Action = actionCombo.Text; int limitValue = 0; if (!int.TryParse(retryTextBox.Text, out limitValue)) { limitValue = 0; } retrySetting.RetryLimit = limitValue; retrySetting.RetryDelay = Convert.ToInt32(delayTimeSpan.Value.TotalSeconds); retrySetting.LimitExceededAction = retryActionCombo.Text; c.Metadata.VirtualResourceMetadataRetrySettings.Add(retrySetting); } }
private void RefreshRow(int rowIndex, VirtualResourceMetadataRetrySetting definition) { ComboBox actionCombo = (ComboBox)main_TableLayoutPanel.GetControlFromPosition(ACTION_COLUMN, rowIndex); TextBox retryTextBox = (TextBox)main_TableLayoutPanel.GetControlFromPosition(RETRY_LIMIT_COLUMN, rowIndex); var delayTimeSpan = (HP.ScalableTest.Framework.UI.TimeSpanControl)main_TableLayoutPanel.GetControlFromPosition(RETRY_DELAY_COLUMN, rowIndex); ComboBox retryActionCombo = (ComboBox)main_TableLayoutPanel.GetControlFromPosition(RETRY_ACTION_COLUMN, rowIndex); bool setRetryDefaults = true; if (definition != null) { actionCombo.Text = definition.Action; if (definition.Action.Equals(PluginRetryAction.Retry.ToString())) { setRetryDefaults = false; retryTextBox.Text = definition.RetryLimit.ToString(CultureInfo.CurrentCulture); delayTimeSpan.Value = new TimeSpan(0, 0, definition.RetryDelay); retryActionCombo.Text = definition.LimitExceededAction; } } else { actionCombo.SelectedIndex = 0; } if (setRetryDefaults) { retryTextBox.Text = "0"; delayTimeSpan.Value = new TimeSpan(0, 0, 0); retryActionCombo.SelectedIndex = 0; } }
/// <summary> /// Creates a copy of this <see cref="VirtualResourceMetadata"/>. /// </summary> /// <returns></returns> public VirtualResourceMetadata Copy(bool includeRetrySettings) { VirtualResourceMetadata metadata = new VirtualResourceMetadata { VirtualResourceMetadataId = SequentialGuid.NewGuid(), Name = Name, ResourceType = ResourceType, MetadataType = MetadataType, Metadata = Metadata, MetadataVersion = MetadataVersion, Enabled = Enabled, ExecutionPlan = ExecutionPlan }; if (this.AssetUsage != null) { metadata.AssetUsage = new VirtualResourceMetadataAssetUsage(); metadata.AssetUsage.AssetSelectionData = this.AssetUsage.AssetSelectionData; } if (this.DocumentUsage != null) { metadata.DocumentUsage = new VirtualResourceMetadataDocumentUsage(); metadata.DocumentUsage.DocumentSelectionData = this.DocumentUsage.DocumentSelectionData; } if (this.ServerUsage != null) { metadata.ServerUsage = new VirtualResourceMetadataServerUsage(); metadata.ServerUsage.ServerSelectionData = this.ServerUsage.ServerSelectionData; } if (this.PrintQueueUsage != null) { metadata.PrintQueueUsage = new VirtualResourceMetadataPrintQueueUsage(); metadata.PrintQueueUsage.PrintQueueSelectionData = this.PrintQueueUsage.PrintQueueSelectionData; } if (includeRetrySettings) { foreach (var retrySetting in this.VirtualResourceMetadataRetrySettings) { VirtualResourceMetadataRetrySetting copiedSetting = new VirtualResourceMetadataRetrySetting { SettingId = SequentialGuid.NewGuid(), State = retrySetting.State, Action = retrySetting.Action, RetryLimit = retrySetting.RetryLimit, RetryDelay = retrySetting.RetryDelay, LimitExceededAction = retrySetting.LimitExceededAction }; metadata.VirtualResourceMetadataRetrySettings.Add(copiedSetting); } } return(metadata); }