private void BuildChildItems(XciItem parentItem) { var xci = parentItem.Xci; try { foreach (var xciPartitionType in Enum.GetValues <XciPartitionType>()) { try { if (!xci.HasPartition(xciPartitionType)) { continue; } } catch (Exception ex) { OnLoadingException(ex, parentItem); var message = LocalizationManager.Instance.Current.Keys.LoadingError_FailedToCheckIfXciPartitionExists.SafeFormat(ex.Message); parentItem.Errors.Add(TREE_LOADING_CATEGORY, message); _logger.LogError(ex, message); continue; } XciPartition xciPartition; try { xciPartition = xci.OpenPartition(xciPartitionType); } catch (Exception ex) { OnLoadingException(ex, parentItem); var message = LocalizationManager.Instance.Current.Keys.LoadingError_FailedToOpenXciPartition.SafeFormat(ex.Message); parentItem.Errors.Add(TREE_LOADING_CATEGORY, message); _logger.LogError(ex, message); continue; } var xciPartitionItem = new XciPartitionItem(xciPartition, xciPartitionType, parentItem); BuildChildItems(xciPartitionItem); parentItem.ChildItems.Add(xciPartitionItem); } } catch (Exception ex) { OnLoadingException(ex, parentItem); var message = LocalizationManager.Instance.Current.Keys.LoadingError_FailedToLoadXciContent.SafeFormat(ex.Message); parentItem.Errors.Add(TREE_LOADING_CATEGORY, message); _logger.LogError(ex, message); } }
public XciPartitionItemViewModel(XciPartitionItem xciPartitionItem, IServiceProvider serviceProvider) : base(xciPartitionItem, serviceProvider) { _xciPartitionItem = xciPartitionItem; }