protected virtual void GetResults() { var session = new PatternsSessionData(); List <Artifact> Results = new List <Artifact>(); int nClrTmp = 20; int nResInd = 0; var token = PatternsAddOnTestClient.Instance.CurrentToken; var client = new RestClient(PatternsAddOnTestClient.Instance.CurrentHost); var request = new RestRequest("Sessions/" + token + "/Artifacts", Method.GET) { Timeout = 6000, RequestFormat = DataFormat.Xml }; var response = client.Execute(request); var content = response.Content; // raw content as string if (content.Equals(String.Empty)) { return; } var sr = new StringReader(content); var contentElement = XElement.Load(sr); contentElement = XMLHelper.RemoveAllNamespaces(contentElement); AppendResultsArtifacts(contentElement); var newResults = from c in contentElement.Elements() select c; if (newResults.Count() > 0) { var newDeserializedResults = ArtifactsHelper.DeserializeResults(newResults); AppendResults(Results, newDeserializedResults); if (CheckBoxFlush.Checked) { if (CheckBoxArcive.Checked || TextBoxResult.Text.ToLower().IndexOf(".dat") > 0) { AppendResultsDAT(Results); } if (TextBoxResult.Text.ToLower().IndexOf(".xml") > 0) { AppendResultsXML(Results); } } AppendToGrid(Results, nResInd); nResInd = Results.Count; LastDetected = UpdateLastDetectedTime(Results); } if (--nClrTmp < 0) { nClrTmp = 20; Results.Clear(); } }
public void SetAbsoluteStart(String dataStr) { var sr = new StringReader(dataStr); var contentElement = XElement.Load(sr); contentElement = XMLHelper.RemoveAllNamespaces(contentElement); var startTime = contentElement.Element("StartTime").Value; getResultsCtrl1.AbsoluteStart = ArtifactsHelper.GetDateTime(startTime); AbsolutStartSet = true; }
protected virtual void AppendResults(List <Artifact> Results, IEnumerable <Artifact> newResults) { foreach (var item in newResults) { if (ArtifactsHelper.SameArtifactExists(Results, item)) { continue; } Results.Add(item); } }
public static XElement WriteDecelerationXML(Artifact item, DateTime AbsoluteStart) { Deceleration decItem = item.ArtifactData as Deceleration; int decelType = ArtifactsHelper.GetDecelType(item); var value = new XElement("event", new XAttribute("start", ((int)((item.StartTime - AbsoluteStart).TotalSeconds * 4)).ToString(CultureInfo.InvariantCulture)), new XAttribute("peak", ((int)((decItem.PeakTime - AbsoluteStart).TotalSeconds * 4)).ToString(CultureInfo.InvariantCulture)), new XAttribute("end", ((int)((item.EndTime - AbsoluteStart).TotalSeconds * 4)).ToString(CultureInfo.InvariantCulture)), new XAttribute("contraction", "-1"), new XAttribute("type", decelType.ToString()), new XAttribute("y1", "0.000"), new XAttribute("y2", "0.000")); return(value); }
public static List <Artifact> DeserializeResults(IEnumerable <XElement> newResults) { var toRet = new List <Artifact>(); foreach (var item in newResults) { var curArt = new Artifact(); String curVal = XMLHelper.GetXMLValByLocalName(item, "StartTime"); curArt.StartTime = ArtifactsHelper.GetDateTime(curVal); curVal = XMLHelper.GetXMLValByLocalName(item, "EndTime"); curArt.EndTime = ArtifactsHelper.GetDateTime(curVal); curVal = XMLHelper.GetXMLValByLocalName(item, "Category"); curArt.Category = curVal; var artData = XMLHelper.GetXMLElementByLocalName(item, "ArtifactData"); if (artData == null) { continue; } switch (curVal) { case "Baseline": curArt.ArtifactData = CreateBaselineData(artData); break; case "Contraction": curArt.ArtifactData = CreateContractionData(artData); break; case "Acceleration": curArt.ArtifactData = CreateAccelerationData(artData); break; case "Deceleration": curArt.ArtifactData = CreateDecelerationData(artData); break; default: break; } toRet.Add(curArt); } return(toRet); }
public void AppendTracings(String dataStr) { var sr = new StringReader(dataStr); var contentElement = XElement.Load(sr); contentElement = XMLHelper.RemoveAllNamespaces(contentElement); var fhr = contentElement.Element("Fhr").Value; var fhrTempList = new List <byte>(Convert.FromBase64String(fhr)); var up = contentElement.Element("Up").Value; var upTempList = new List <byte>(Convert.FromBase64String(up)); var startTime = contentElement.Element("StartTime").Value; DateTime start = ArtifactsHelper.GetDateTime(startTime); var diff = start - LastTimeStamp; if (LastTimeStamp == DateTime.MinValue) { LastTimeStamp = start.AddSeconds(-1); } else if (diff.TotalSeconds > 1) // GAP { int secondsToFill = ((int)Math.Floor(diff.TotalSeconds)) - 1; for (int i = 0; i < secondsToFill; i++) { FhrList.Add(255); FhrList.Add(255); FhrList.Add(255); FhrList.Add(255); UpsList.Add(255); } LastTimeStamp = LastTimeStamp.AddSeconds(secondsToFill); } else if (diff.TotalSeconds <= 0) // OVERLAP { int secondsToRemove = (Math.Abs((int)Math.Floor(diff.TotalSeconds))) + 1; upTempList.RemoveRange(0, secondsToRemove); fhrTempList.RemoveRange(0, secondsToRemove * 4); } FhrList.AddRange(fhrTempList); UpsList.AddRange(upTempList); LastTimeStamp = LastTimeStamp.AddSeconds(upTempList.Count); }
public static string WriteDecelerationDAT(Artifact item, DateTime AbsoluteStart) { Deceleration decItem = item.ArtifactData as Deceleration; StringBuilder value = new StringBuilder(255); value.Append("EVT|"); /* 00 */ value.Append(ArtifactsHelper.GetDecelType(item).ToString(CultureInfo.InvariantCulture)); value.Append("|"); /* 01 */ value.Append(((int)((item.StartTime - AbsoluteStart).TotalSeconds * 4)).ToString(CultureInfo.InvariantCulture)); value.Append("|"); /* 02 */ value.Append(((int)((decItem.PeakTime - AbsoluteStart).TotalSeconds * 4)).ToString(CultureInfo.InvariantCulture)); value.Append("|"); /* 03 */ value.Append(((int)((item.EndTime - AbsoluteStart).TotalSeconds * 4)).ToString(CultureInfo.InvariantCulture)); value.Append("|"); /* 04 */ value.Append(string.Empty); // Y1 value.Append("|"); /* 05 */ value.Append(string.Empty); // Y2 value.Append("|"); /* 06 */ value.Append(decItem.ContractionStart.HasValue ? ((int)((decItem.ContractionStart.Value - AbsoluteStart).TotalSeconds * 4)).ToString(CultureInfo.InvariantCulture) : String.Empty); value.Append("|"); /* 07 */ value.Append("y"); // Final value.Append("|"); /* 08 */ value.Append(string.Empty); // Strikeout value.Append("|"); /* 09 */ value.Append(decItem.Confidence.ToString("0.000000", CultureInfo.InvariantCulture)); value.Append("|"); /* 10 */ value.Append(decItem.Repair.ToString("0.000000", CultureInfo.InvariantCulture)); value.Append("|"); /* 11 */ value.Append(decItem.Height.ToString("0.000000", CultureInfo.InvariantCulture)); value.Append("|"); /* 12 */ value.Append(string.Empty); // Baseline variability value.Append("|"); /* 13 */ value.Append(decItem.PeakValue.ToString("0.000000", CultureInfo.InvariantCulture)); value.Append("|"); /* 14 */ value.Append("|"); /* 15 */ if (decItem.DecelerationCategory.Equals("Variable")) { value.Append("y"); } value.Append("|"); /* 16 */ value.Append("-1"); // Lag value.Append("|"); /* 17 */ value.Append(ArtifactsHelper.GetDecelNonReassuring(item).ToString(CultureInfo.InvariantCulture)); value.Append("|"); /* 18 */ if (decItem.IsNonInterpretable) { value.Append("y"); } value.Append("|"); /* 19 */ value.Append(string.Empty); // Confirmed value.Append("|"); /* 20 */ value.Append(item.ArtifactData.Id.ToString(CultureInfo.InvariantCulture)); return(value.ToString()); }