コード例 #1
0
    ReadVisibility
    (
        ExcelTableReader.ExcelTableRow oRow,
        GroupVisibilityConverter oGroupVisibilityConverter,
        String sGroupName,
        HashSet<String> oSkippedGroupNames,
        HashSet<String> oHiddenGroupNames
    )
    {
        Debug.Assert(oRow != null);
        Debug.Assert(oGroupVisibilityConverter != null);
        Debug.Assert( !String.IsNullOrEmpty(sGroupName) );
        Debug.Assert(oSkippedGroupNames != null);
        Debug.Assert(oHiddenGroupNames != null);
        AssertValid();

        // Assume a default visibility.

        Visibility eVisibility = Visibility.Show;

        String sVisibility;

        if (
            oRow.TryGetNonEmptyStringFromCell(
                CommonTableColumnNames.Visibility, out sVisibility)
            &&
            !oGroupVisibilityConverter.TryWorkbookToGraph(
                sVisibility, out eVisibility)
            )
        {
            OnInvalidVisibility(oRow);
        }

        if (eVisibility == Visibility.Skip)
        {
            oSkippedGroupNames.Add(sGroupName);
        }
        else if (eVisibility == Visibility.Hide)
        {
            oHiddenGroupNames.Add(sGroupName);
        }
    }