private string GenerateReference(ResourceReferenceCreator.UriSyntax uriSyntax) { switch (uriSyntax) { case ResourceReferenceCreator.UriSyntax.None: { return(this.CreateNoneReference()); } case ResourceReferenceCreator.UriSyntax.Relative: { return(this.CreateRelativeReference()); } case ResourceReferenceCreator.UriSyntax.RelativePackUri: { return(this.CreateRelativePackUriReference()); } case ResourceReferenceCreator.UriSyntax.ComponentPackUri: { return(this.CreateComponentPackUriReference()); } case ResourceReferenceCreator.UriSyntax.SiteOfOriginPackUri: { return(this.CreateSiteOfOriginPackUriReference()); } } throw new InvalidOperationException(); }
private ResourceReferenceCreator.UriSyntax DetermineSyntaxForSameProjectReference(DocumentReference referencingDocument) { ResourceReferenceCreator.UriSyntax uriSyntax = ResourceReferenceCreator.UriSyntax.None; string relativePathForDocumentReference = this.GetRelativePathForDocumentReference(referencingDocument); if (relativePathForDocumentReference == null) { return(ResourceReferenceCreator.UriSyntax.None); } this.relativePathToReference = relativePathForDocumentReference; if (this.resourceItem.DocumentType == null || !(this.resourceItem.DocumentType.Name == DocumentTypeNamesHelper.Font)) { string resourceBuildAction = this.ResourceBuildAction; string str = resourceBuildAction; if (resourceBuildAction != null) { switch (str) { case "Content": { uriSyntax = this.DetermineSyntaxForContentItemType(); return(uriSyntax); } case "BlendEmbeddedFont": { uriSyntax = ResourceReferenceCreator.UriSyntax.ComponentPackUri; return(uriSyntax); } case "None": { uriSyntax = this.DetermineSyntaxForNoneItemType(); return(uriSyntax); } } } uriSyntax = this.DetermineSyntaxForCompiledItemType(); } else { uriSyntax = ResourceReferenceCreator.UriSyntax.ComponentPackUri; } return(uriSyntax); }
public string CreateResourceReferenceFromDocument(DocumentReference referencingDocument) { ResourceReferenceCreator.UriSyntax uriSyntax = this.DetermineUriSyntax(referencingDocument); return(this.NormalizeReference(this.GenerateReference(uriSyntax))); }