Esempio n. 1
0
        public string MESConsole(int iMessageID, string strMessageString)
        {
            string strSuccess = "Success";

            if (iMessageID == 1) //1為 Online
            {
                try
                {
                    Stopwatch sw = new Stopwatch();
                    sw.Start();
                    string          tt = Server.MapPath("~/App_Data/system.ini");
                    string          t1 = Server.MapPath("system.ini");
                    string          t2 = Server.MapPath("~/system.ini");
                    ResultStructure pResultStructure = ResultParser.GetResult(strMessageString, Server.MapPath("~/App_Data/system.ini"));
                    //ResultStructure pResultStructure = ResultParser.GetResult(strMessageString, Server.MapPath(@"C:\Users\James\Desktop\system.ini"));
                    sw.Stop();

                    strSuccess += string.Format(", CaseName: {0}, ContextID: {1}, PhaseType: {2}, IsAction: {3}, AVMData has {4} Result, ISDInfo NeedMeasure: {5}, ISDInfo Remark: {6}, Elapsed: {7} sec",
                                                pResultStructure.CaseName,
                                                pResultStructure.ContextID,
                                                pResultStructure.Type,
                                                pResultStructure.IsAction,
                                                pResultStructure.AVMData.Rows.Count,
                                                pResultStructure.mISDInfo.NeedMeasure,
                                                pResultStructure.mISDInfo.Remark,
                                                (double)sw.ElapsedMilliseconds / 1000
                                                );

                    // 執行想要的行為
                    DoSomething(pResultStructure.ContextID);
                }
                catch (System.Exception ex)
                {
                    strSuccess = "Fail, " + ex.ToString();
                }
            }
            else if (iMessageID == 0) //0為 Offline
            {
                //if Offline do nothing
                strSuccess = "Success, do nothing";
            }

            return(strSuccess);
        }
Esempio n. 2
0
        public void OneNonPeriodicalRule()
        {
            BentleyOttmanAlgorithm algo = new BentleyOttmanAlgorithm(new DateTime(2020, 8, 1), new DateTime(2020, 8, 3, 23, 59, 59));

            var rule0 = new Guid();

            Rule rule1 = new Rule(rule0,
                                  new DateTime(2020, 8, 2, 9, 0, 0),
                                  new DateTime(2020, 8, 2, 17, 0, 0),
                                  0,
                                  TimeMeasure.None);
            Rule rule2 = new Rule(new Guid(),
                                  new DateTime(2020, 7, 2, 9, 0, 0),
                                  new DateTime(2020, 7, 2, 17, 0, 0),
                                  1,
                                  TimeMeasure.None);
            Rule rule3 = new Rule(new Guid(),
                                  new DateTime(2020, 7, 2, 9, 0, 0),
                                  new DateTime(2020, 7, 2, 17, 0, 0),
                                  0,
                                  TimeMeasure.Days);

            algo.AddRule(rule1);
            algo.AddRule(rule2);
            algo.AddRule(rule3);

            var result = algo.GetResult();

            Assert.AreEqual(1, result.Count);
            ResultStructure resultStructure = new ResultStructure()
            {
                Guid          = rule0,
                StartDateTime = new DateTime(2020, 8, 2, 9, 0, 0),
                EndDateTime   = new DateTime(2020, 8, 2, 17, 0, 0)
            };

            Assert.AreEqual(resultStructure, (ResultStructure)(result[0]));
        }