/// <summary> /// Populate resource type selection list. /// /// The control flow is as follows. /// 1. PopulateResourceTypes(). /// 1.1 Failed. An error message is displayed. /// Goto error handling logic. /// 2. Set selected resource type. /// 3. When selected resource type is changed, it calls Reload(). /// /// Error handling. /// 1. User click Refresh. Refresh button calls Reload(). /// 2. Reload() checks ResourceDescriptors is null or empty. /// 3. Reload calls PopulateResourceTypes() which does a manual retry. /// </summary> private async Task PopulateResourceTypesAsync() { CancellationTokenSource = null; await ResourceTypeSelector.PopulateResourceTypesAsync(); }
/// <summary> /// Populate resource type selection list. /// /// The control flow is as following. /// 1. PopulateResourceTypes(). /// 1.1 Failed. An error message is displayed. /// Goto error handling logic. /// 2. Set selected resource type. /// 3. When selected resource type is changed, it calls Reload(). /// /// Error handling. /// 1. User click Refresh. Refresh button calls Reload(). /// 2. Reload() checks ResourceDescriptors is null or empty. /// 3. Reload calls PopulateResourceTypes() which does a manual retry. /// </summary> private async Task PopulateResourceTypes() => await ResourceTypeSelector.PopulateResourceTypes();