/// <summary> /// Verifying the chartTrackingReferenceBased element the existence /// </summary> /// <param name="filePath">Target faile path</param> /// <param name="log">Logger</param> public void VerifyElements(string filePath, VerifiableLog log) { using (PresentationDocument package = PresentationDocument.Open(filePath, false)) { P15.ChartTrackingReferenceBased chartTrackingReferenceBased = package.PresentationPart.PresentationPropertiesPart.PresentationProperties.PresentationPropertiesExtensionList.Descendants <P15.ChartTrackingReferenceBased>().Single(); log.Verify(chartTrackingReferenceBased.Val.Value == true, "UnChanged in the ChartTrackingReferenceBase element."); } }
/// <summary> /// Editing chartTrackingReferenceBased element /// </summary> /// <param name="filePath">Target file path</param> /// <param name="log">Logger</param> public void EditElements(string filePath, VerifiableLog log) { using (PresentationDocument package = PresentationDocument.Open(filePath, true)) { P15.ChartTrackingReferenceBased chartTrackingReferenceBased = package.PresentationPart.PresentationPropertiesPart.PresentationProperties.PresentationPropertiesExtensionList.Descendants <P15.ChartTrackingReferenceBased>().Single(); chartTrackingReferenceBased.Val.Value = true; log.Pass("Edited ChartTrackingReferenceBase value."); } }
/// <summary> /// Deleting chartTrackingReferenceBased element /// </summary> /// <param name="filePath">Target faile path</param> /// <param name="log">Logger</param> public void DeleteElements(string filePath, VerifiableLog log) { using (PresentationDocument package = PresentationDocument.Open(filePath, true)) { PresentationPropertiesExtension presentationPropertiesExtension = package.PresentationPart.PresentationPropertiesPart.PresentationProperties.PresentationPropertiesExtensionList.Descendants <PresentationPropertiesExtension>().Where(e => e.Uri == this.ChartTrackingReferenceBasedExtUri).Single(); P15.ChartTrackingReferenceBased chartTrackingReferenceBased = presentationPropertiesExtension.Descendants <P15.ChartTrackingReferenceBased>().Single(); chartTrackingReferenceBased.Remove(); presentationPropertiesExtension.Remove(); log.Pass("Deleted chartTrackingReferenceBased element."); } }
/// <summary> /// Constructor /// Get URI attribute value of PresentationPropertiesExtension /// </summary> /// <param name="filePath">Generated file path</param> public TestEntities(string filePath) { using (PresentationDocument package = PresentationDocument.Open(filePath, false)) { //Get Extension Uri value P15.ChartTrackingReferenceBased chartTrackingReferenceBased = package.PresentationPart.PresentationPropertiesPart.PresentationProperties.PresentationPropertiesExtensionList.Descendants <P15.ChartTrackingReferenceBased>().Single(); PresentationPropertiesExtension presentationPropertiesExtension = (PresentationPropertiesExtension)chartTrackingReferenceBased.Parent; this.ChartTrackingReferenceBasedExtUri = presentationPropertiesExtension.Uri; if (string.IsNullOrEmpty(this.ChartTrackingReferenceBasedExtUri)) { throw new Exception("Uri attribute value in Extension element is not set."); } } }
/// <summary> /// Append the chartTrackingReferenceBased element /// </summary> /// <param name="filePath">Target file path</param> /// <param name="log">Logger</param> public void AddElements(string filePath, VerifiableLog log) { using (PresentationDocument package = PresentationDocument.Open(filePath, true)) { PresentationPropertiesExtension presentationPropertiesExtension = new PresentationPropertiesExtension() { Uri = this.ChartTrackingReferenceBasedExtUri }; P15.ChartTrackingReferenceBased chartTrackingReferenceBased = new P15.ChartTrackingReferenceBased(); chartTrackingReferenceBased.Val = true; presentationPropertiesExtension.AppendChild <P15.ChartTrackingReferenceBased>(chartTrackingReferenceBased); package.PresentationPart.PresentationPropertiesPart.PresentationProperties.PresentationPropertiesExtensionList.AppendChild <PresentationPropertiesExtension>(presentationPropertiesExtension); log.Pass("Added ChartTrackingReferenceBased element."); } }
/// <summary> /// Append the chartTrackingReferenceBased element /// </summary> /// <param name="filePath">Target file path</param> /// <param name="log">Logger</param> public void AddElements(string filePath, VerifiableLog log) { using (PresentationDocument package = PresentationDocument.Open(filePath, true)) { try { PresentationPropertiesExtension presentationPropertiesExtension = new PresentationPropertiesExtension() { Uri = this.ChartTrackingReferenceBasedExtUri }; P15.ChartTrackingReferenceBased chartTrackingReferenceBased = new P15.ChartTrackingReferenceBased(); chartTrackingReferenceBased.Val = true; presentationPropertiesExtension.AppendChild<P15.ChartTrackingReferenceBased>(chartTrackingReferenceBased); package.PresentationPart.PresentationPropertiesPart.PresentationProperties.PresentationPropertiesExtensionList.AppendChild<PresentationPropertiesExtension>(presentationPropertiesExtension); log.Pass("Added ChartTrackingReferenceBased element."); } catch (Exception e) { log.Fail(e.Message); } } }