示例#1
0
        /// <summary>
        /// Sends the parsed config nodes to the server after doing basic checks
        /// </summary>
        private void SendModulesConfigNodes()
        {
            ScenarioData.Clear();
            ScenarioName.Clear();

            foreach (var scenarioConfigNode in ScenariosConfigNodes)
            {
                var scenarioBytes = ConfigNodeSerializer.Serialize(scenarioConfigNode.Item2);
                var scenarioHash  = Common.CalculateSha256Hash(scenarioBytes);

                if (scenarioBytes.Length == 0)
                {
                    LunaLog.Log($"[LMP]: Error writing scenario data for {scenarioConfigNode.Item1}");
                    continue;
                }

                //Data is the same since last time - Skip it.
                if (CheckData.ContainsKey(scenarioConfigNode.Item1) && CheckData[scenarioConfigNode.Item1] == scenarioHash)
                {
                    continue;
                }

                CheckData[scenarioConfigNode.Item1] = scenarioHash;

                ScenarioName.Add(scenarioConfigNode.Item1);
                ScenarioData.Add(scenarioBytes);
            }

            if (ScenarioName.Any())
            {
                MessageSender.SendScenarioModuleData(ScenarioName, ScenarioData);
            }
        }
示例#2
0
        /// <summary>
        /// Change scenario name - save to server and change tree view description.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ScenarioName_Changed(object sender, EventArgs e)
        {
            ActiveScenario.Name = ScenarioName.Text;
            bool invalid = ScenarioName.Text.Length == 0;

            InvalidScenarioName.Visible = invalid;
            if (invalid)
            {
                ScenarioName.SetFocus();
            }
            CurrentMainWindow.UpdateTreeStoreText(ActualPosition, ActiveScenario.Name);
        }
        private void NonLoop()
        {
            GameFiber.StartNew(delegate
            {
                TargetPed.Task_Scenario(ScenarioName.ToString());
                while (NativeFunction.Natives.IS_PED_USING_ANY_SCENARIO <bool>(TargetPed))
                {
                    GameFiber.Yield();
                }

                IsRunning = false;
            });
        }
示例#4
0
        private void ReadFromFile(DateTime t1, DateTime t2)
        {
            if (m_projection.StartsWith("input/") && ScenarioName.StartsWith("rawflows/"))
            { // use -raw for non-biased corrected input ( HACK)
            }

            string filename = m_path + m_projection + "." + m_variable + ".csv";

            string[] data = Web.GetPage(filename, true);

            Clear();
            for (int i = 1; i < data.Length - 1; i++)
            {
                var pt = new Point();
                // Should we do checks on dates and values?
                string[] tokens = data[i].Split(',');
                pt.DateTime = DateTime.Parse(tokens[0]);

                if (tokens[1] == "True")
                {
                    pt.Value = 1.0;
                }
                else
                if (tokens[1] == "False")
                {
                    pt.Value = 0.0;
                }
                else
                {
                    var d = Point.MissingValueFlag;

                    if (Double.TryParse(tokens[1], out d))
                    {
                        pt.Value = d;
                    }
                    else
                    {
                        pt.Flag = PointFlag.Missing;
                    }
                }


                if (pt.DateTime >= t1 && pt.DateTime <= t2)
                {
                    this.Add(pt);
                }
            }
            this.ReadOnly = true;
        }
        protected override void Execute(CodeActivityContext context)
        {
            WorkflowInstanceProxy proxy = context.GetExtension <WorkflowInstanceInfo>().GetProxy();
            Activity root = proxy.WorkflowDefinition;

            string testname;

            if (TestCase.Get(context) != null)
            {
                testname = TestCase.Get(context);
            }
            else
            {
                testname = root.DisplayName;
            }

            XmlWriterSettings xmlWriterSettings = new XmlWriterSettings();

            xmlWriterSettings.Indent = true;
            xmlWriterSettings.NewLineOnAttributes = true;
            using (XmlWriter xmlWriter = XmlWriter.Create("Temp.xml", xmlWriterSettings))
            {
                xmlWriter.WriteStartDocument();
                xmlWriter.WriteStartElement("Test-Suite");
                xmlWriter.WriteStartElement("Result");
                xmlWriter.WriteElementString("TestScenario", ScenarioName.Get(context));
                xmlWriter.WriteElementString("TestName", testname);
                xmlWriter.WriteElementString("Started", DateTime.Now.ToString());
                //xmlWriter.WriteElementString("Ended", "10:00:04");
                xmlWriter.WriteElementString("Status", Status.Get(context));
                xmlWriter.WriteEndElement();
                xmlWriter.WriteEndElement();
                xmlWriter.WriteEndDocument();
                xmlWriter.Flush();
                xmlWriter.Close();
            }
        }