Exemple #1
0
        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;
        }
Exemple #3
0
        protected virtual void AppendResults(List <Artifact> Results, IEnumerable <Artifact> newResults)
        {
            foreach (var item in newResults)
            {
                if (ArtifactsHelper.SameArtifactExists(Results, item))
                {
                    continue;
                }

                Results.Add(item);
            }
        }
Exemple #4
0
        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);
        }
Exemple #7
0
        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());
        }