< Summary

Information
Class: SolidEdgeCommunity.Extensions.DocumentsExtensions
Assembly: SolidEdgeCommunity
File(s): D:\a\SolidEdge.Community\SolidEdge.Community\src\SolidEdgeCommunity\Extensions\DocumentsExtensions.cs
Line coverage
100%
Covered lines: 34
Uncovered lines: 0
Coverable lines: 34
Total lines: 152
Line coverage: 100%
Branch coverage
100%
Covered branches: 8
Total branches: 8
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Add(...)100%11100%
Add(...)100%11100%
Add(...)100%88100%
AddAssemblyDocument(...)100%11100%
AddAssemblyDocument(...)100%11100%
AddDraftDocument(...)100%11100%
AddDraftDocument(...)100%11100%
AddPartDocument(...)100%11100%
AddPartDocument(...)100%11100%
AddSheetMetalDocument(...)100%11100%
AddSheetMetalDocument(...)100%11100%
Open(...)100%11100%
Open(...)100%11100%
OpenInBackground(...)100%11100%
OpenInBackground(...)100%11100%

File(s)

D:\a\SolidEdge.Community\SolidEdge.Community\src\SolidEdgeCommunity\Extensions\DocumentsExtensions.cs

#LineLine coverage
 1using System;
 2
 3namespace SolidEdgeCommunity.Extensions;
 4
 5/// <summary>
 6/// SolidEdgeFramework.Documents extension methods.
 7/// </summary>
 8public static class DocumentsExtensions
 9{
 10    /// <summary>
 11    /// Creates a new document.
 12    /// </summary>
 713    internal static TDocumentType Add<TDocumentType>(this Documents documents, string progId) where TDocumentType : clas
 14
 15    /// <summary>
 16    /// Creates a new document.
 17    /// </summary>
 418    internal static TDocumentType Add<TDocumentType>(this Documents documents, string progId, object TemplateDoc) where 
 19
 20    /// <summary>
 21    /// Creates a new document.
 22    /// </summary>
 23    /// <typeparam name="TDocumentType">SolidEdgeAssembly.AssemblyDocument, SolidEdgeDraft.DraftDocument, SolidEdgePart.
 24    /// <param name="documents"></param>
 25    /// <returns></returns>
 26    public static TDocumentType Add<TDocumentType>(this Documents documents) where TDocumentType : class
 27    {
 628        var t = typeof(TDocumentType);
 29
 630        if (t.Equals(typeof(SolidEdgeAssembly.AssemblyDocument)))
 31        {
 132            return (TDocumentType)documents.AddAssemblyDocument();
 33        }
 534        else if (t.Equals(typeof(SolidEdgeDraft.DraftDocument)))
 35        {
 136            return (TDocumentType)documents.AddDraftDocument();
 37        }
 438        else if (t.Equals(typeof(SolidEdgePart.PartDocument)))
 39        {
 140            return (TDocumentType)documents.AddPartDocument();
 41        }
 342        else if (t.Equals(typeof(SolidEdgePart.SheetMetalDocument)))
 43        {
 144            return (TDocumentType)documents.AddSheetMetalDocument();
 45        }
 46        else
 47        {
 248            throw new NotSupportedException();
 49        }
 50    }
 51
 52    /// <summary>
 53    /// Creates a new assembly document.
 54    /// </summary>
 55    public static SolidEdgeAssembly.AssemblyDocument AddAssemblyDocument(this Documents documents)
 156        => documents.Add<SolidEdgeAssembly.AssemblyDocument>(SolidEdgeSDK.PROGID.SolidEdge_AssemblyDocument);
 57
 58    /// <summary>
 59    /// Creates a new assembly document.
 60    /// </summary>
 61    public static SolidEdgeAssembly.AssemblyDocument AddAssemblyDocument(this Documents documents, object TemplateDoc)
 162        => documents.Add<SolidEdgeAssembly.AssemblyDocument>(SolidEdgeSDK.PROGID.SolidEdge_AssemblyDocument, TemplateDoc
 63
 64    /// <summary>
 65    /// Creates a new draft document.
 66    /// </summary>
 67    public static SolidEdgeDraft.DraftDocument AddDraftDocument(this Documents documents)
 268        => documents.Add<SolidEdgeDraft.DraftDocument>(SolidEdgeSDK.PROGID.SolidEdge_DraftDocument);
 69
 70    /// <summary>
 71    /// Creates a new draft document.
 72    /// </summary>
 73    public static SolidEdgeDraft.DraftDocument AddDraftDocument(this Documents documents, object TemplateDoc)
 174        => documents.Add<SolidEdgeDraft.DraftDocument>(SolidEdgeSDK.PROGID.SolidEdge_DraftDocument, TemplateDoc);
 75
 76    /// <summary>
 77    /// Creates a new part document.
 78    /// </summary>
 79    public static SolidEdgePart.PartDocument AddPartDocument(this Documents documents)
 280        => documents.Add<SolidEdgePart.PartDocument>(SolidEdgeSDK.PROGID.SolidEdge_PartDocument);
 81
 82    /// <summary>
 83    /// Creates a new part document.
 84    /// </summary>
 85    public static SolidEdgePart.PartDocument AddPartDocument(this Documents documents, object TemplateDoc)
 186        => documents.Add<SolidEdgePart.PartDocument>(SolidEdgeSDK.PROGID.SolidEdge_PartDocument, TemplateDoc);
 87
 88    /// <summary>
 89    /// Creates a new sheetMetal document.
 90    /// </summary>
 91    public static SolidEdgePart.SheetMetalDocument AddSheetMetalDocument(this Documents documents)
 292        => documents.Add<SolidEdgePart.SheetMetalDocument>(SolidEdgeSDK.PROGID.SolidEdge_SheetMetalDocument);
 93
 94    /// <summary>
 95    /// Creates a new sheetMetal document.
 96    /// </summary>
 97    public static SolidEdgePart.SheetMetalDocument AddSheetMetalDocument(this Documents documents, object TemplateDoc)
 198        => documents.Add<SolidEdgePart.SheetMetalDocument>(SolidEdgeSDK.PROGID.SolidEdge_SheetMetalDocument, TemplateDoc
 99
 100    /// <summary>
 101    /// Opens an existing Solid Edge document.
 102    /// </summary>
 103    public static TDocumentType Open<TDocumentType>(this Documents documents, string Filename)
 2104        where TDocumentType : class => (TDocumentType)documents.Open(Filename);
 105
 106    /// <summary>
 107    /// Opens an existing Solid Edge document.
 108    /// </summary>
 109    public static TDocumentType Open<TDocumentType>(
 110        this Documents documents,
 111        string Filename,
 112        object DocRelationAutoServer,
 113        object AltPath,
 114        object RecognizeFeaturesIfPartTemplate,
 115        object RevisionRuleOption,
 116        object StopFileOpenIfRevisionRuleNotApplicable)
 1117        => (TDocumentType)documents.Open(Filename,
 1118                                         DocRelationAutoServer,
 1119                                         AltPath,
 1120                                         RecognizeFeaturesIfPartTemplate,
 1121                                         RevisionRuleOption,
 1122                                         StopFileOpenIfRevisionRuleNotApplicable);
 123
 124    /// <summary>
 125    /// Opens an existing Solid Edge document in the background with no window.
 126    /// </summary>
 127    public static TDocumentType OpenInBackground<TDocumentType>(this Documents documents, string Filename)
 128    {
 129        const ulong JDOCUMENTPROP_NOWINDOW = 0x00000008;
 2130        return (TDocumentType)documents.Open(Filename, JDOCUMENTPROP_NOWINDOW);
 131    }
 132
 133    /// <summary>
 134    /// Opens an existing Solid Edge document in the background with no window.
 135    /// </summary>
 136    public static TDocumentType OpenInBackground<TDocumentType>(
 137        this Documents documents,
 138        string Filename,
 139        object AltPath,
 140        object RecognizeFeaturesIfPartTemplate,
 141        object RevisionRuleOption,
 142        object StopFileOpenIfRevisionRuleNotApplicable)
 143    {
 144        const ulong JDOCUMENTPROP_NOWINDOW = 0x00000008;
 1145        return (TDocumentType)documents.Open(Filename,
 1146                                             JDOCUMENTPROP_NOWINDOW,
 1147                                             AltPath,
 1148                                             RecognizeFeaturesIfPartTemplate,
 1149                                             RevisionRuleOption,
 1150                                             StopFileOpenIfRevisionRuleNotApplicable);
 151    }
 152}