public void PopulateTraceAttributesFromPackageContents(Trace trace, string pathToUnzippedPackage) { var supplementalFile = Directory.EnumerateFileSystemEntries(pathToUnzippedPackage, BxrRSupplementalDataFileNamePattern) .FirstOrDefault(); if (supplementalFile == null) return; foreach (var line in File.ReadLines(supplementalFile)) { var matchInfo = Regex.Match(line, BxrRKeyValuePattern, RegexOptions.IgnoreCase); if (!matchInfo.Success) continue; var itemName = matchInfo.Groups[1].Value; var itemValue = matchInfo.Groups[2].Value; if (string.IsNullOrWhiteSpace(itemName) || string.IsNullOrWhiteSpace(itemValue)) continue; if (string.Equals(itemName, "ProductSKU", StringComparison.OrdinalIgnoreCase)) continue; if (string.Equals(itemName, "ProcessorIDsMerged", StringComparison.OrdinalIgnoreCase)) continue; var attr = new TraceAttribute { Name = itemName, StringValue = itemValue }; if (string.Equals(attr.Name, "OSInstallDateWMI", StringComparison.OrdinalIgnoreCase)) attr.DateTimeValue = ManagementDateTimeConverter.ToDateTime(attr.StringValue); if (string.Equals(attr.Name, "manufacturer", StringComparison.Ordinal)) attr.Name = "Manufacturer"; trace.AddMeasurement(attr); } }
public void PopulateTraceAttributesFromPackageContents(Trace trace, string pathToUnzippedPackage) { foreach (var emailAddress in GetIcuEmailReportToAddresses(pathToUnzippedPackage)) { trace.AddMeasurement(new TraceAttribute { Name = NameOfIcuMetaEmailReportToAttribute, StringValue = emailAddress }); } foreach (var userNote in GetIseUserInitiatedNote(pathToUnzippedPackage)) { trace.AddMeasurement(new TraceAttribute { Name = NameOfIcuUserNoteAttribute, StringValue = userNote }); } }
public void PopulateTraceAttributesFromFileName(Trace trace, string filePath) { var fileNameRelative = Path.GetFileName(filePath); if (string.IsNullOrEmpty(fileNameRelative)) throw new ArgumentNullException(nameof(fileNameRelative)); var match = Regex.Match(fileNameRelative, IcuFileNamePattern, RegexOptions.IgnoreCase); if (match.Success) { trace.ComputerName = match.Groups["ComputerName"].Value; var tracestartDateTimeString = match.Groups["DateTime"].Value; trace.TracePackageTime = DateTime.ParseExact(tracestartDateTimeString, IcuDateTimeStringFormat, new DateTimeFormatInfo()); trace.AddMeasurement(new TraceAttribute { Name = "Trigger", StringValue = match.Groups["TriggerName"].Value }); } }