示例#1
0
        public void OpenPort()
        {
            if (IsOpen)
            {
                return;
            }

            if (!m_Port.Open(TheProfile, DefaultTimeout))
            {
                OpenPortResult?.Invoke(new TimeoutException("打开端口失败"));
            }
        }
示例#2
0
        private void Port_Open(Exception e)
        {
            if (e != null)
            {
                OpenPortResult?.Invoke(e);
                return;
            }

            IsOpen = true;

            if (!(DistanceEnabled || IlluminanceEnabled || ShakingEnabled || ConnectivityEnabled))
            {
                State = AlarmingState.Unarmed;
            }
            else
            {
                State = AlarmingState.None;
            }

            OpenPortResult?.Invoke(null);

            ProfileKeeper.SaveProfile(TheProfile);
        }
示例#3
0
        public override void Compare(string firstRunId, string secondRunId)
        {
            if (firstRunId == null)
            {
                throw new ArgumentNullException("firstRunId");
            }
            if (secondRunId == null)
            {
                throw new ArgumentNullException("secondRunId");
            }



            var addObjects = new List <OpenPortResult>();
            var cmd        = new SqliteCommand(SELECT_INSERTED_SQL, DatabaseManager.Connection, DatabaseManager.Transaction);

            cmd.Parameters.AddWithValue("@first_run_id", firstRunId);
            cmd.Parameters.AddWithValue("@second_run_id", secondRunId);
            using (var reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    var obj = new OpenPortResult()
                    {
                        Compare = new OpenPortObject()
                        {
                            address     = reader["address"].ToString(),
                            family      = reader["family"].ToString(),
                            port        = reader["port"].ToString(),
                            processName = reader["process_name"].ToString(),
                            type        = reader["type"].ToString()
                        },
                        Base          = null,
                        BaseRunId     = firstRunId,
                        CompareRunId  = secondRunId,
                        BaseRowKey    = "",
                        CompareRowKey = reader["row_key"].ToString(),
                        ResultType    = RESULT_TYPE.PORT,
                        ChangeType    = CHANGE_TYPE.CREATED
                    };
                    addObjects.Add(obj);
                    InsertResult(obj);
                }
            }
            Results["ports_add"] = addObjects;

            Log.Information("Found {0} Created", addObjects.Count);

            var removeObjects = new List <OpenPortResult>();

            cmd = new SqliteCommand(SELECT_DELETED_SQL, DatabaseManager.Connection, DatabaseManager.Transaction);
            cmd.Parameters.AddWithValue("@first_run_id", firstRunId);
            cmd.Parameters.AddWithValue("@second_run_id", secondRunId);
            using (var reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    var obj = new OpenPortResult()
                    {
                        Base = new OpenPortObject()
                        {
                            address     = reader["address"].ToString(),
                            family      = reader["family"].ToString(),
                            port        = reader["port"].ToString(),
                            processName = reader["process_name"].ToString(),
                            type        = reader["type"].ToString()
                        },
                        Compare       = null,
                        BaseRunId     = firstRunId,
                        CompareRunId  = secondRunId,
                        CompareRowKey = "",
                        BaseRowKey    = reader["row_key"].ToString(),
                        ResultType    = RESULT_TYPE.PORT,
                        ChangeType    = CHANGE_TYPE.DELETED
                    };
                    removeObjects.Add(obj);
                    InsertResult(obj);
                }
            }
            Results["ports_remove"] = removeObjects;

            Log.Information("Found {0} Deleted", removeObjects.Count);
            //// Which ports had some other property modified?
            //var modifyObjects = new List<OpenPortObject>();

            //cmd = new SqliteCommand(SELECT_MODIFIED_SQL, DatabaseManager.Connection);
            //cmd.Parameters.AddWithValue("@first_run_id", firstRunId);
            //cmd.Parameters.AddWithValue("@second_run_id", secondRunId);
            //using (var reader = cmd.ExecuteReader())
            //{
            //    while (reader.Read())
            //    {
            //        Log.Warning("Modified row: {0}", reader["row_key"]?.ToString());
            //        var obj = new OpenPortObject()
            //        {
            //            address = reader["address"].ToString(),
            //            family = reader["family"].ToString(),
            //            port = reader["port"].ToString(),
            //            processName = reader["process_name"].ToString(),
            //            type = reader["type"].ToString()
            //        };
            //        modifyObjects.Add(obj);
            //    }
            //}

            //Results["ports_modify"] = modifyObjects;
        }
        public override void Compare(string firstRunId, string secondRunId)
        {
            if (firstRunId == null)
            {
                throw new ArgumentNullException("firstRunId");
            }
            if (secondRunId == null)
            {
                throw new ArgumentNullException("secondRunId");
            }



            var addObjects = new List <OpenPortResult>();
            var cmd        = new SqliteCommand(SELECT_INSERTED_SQL, DatabaseManager.Connection, DatabaseManager.Transaction);

            cmd.Parameters.AddWithValue("@first_run_id", firstRunId);
            cmd.Parameters.AddWithValue("@second_run_id", secondRunId);
            using (var reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    var obj = new OpenPortResult()
                    {
                        Compare = new OpenPortObject()
                        {
                            address     = reader["address"].ToString(),
                            family      = reader["family"].ToString(),
                            port        = reader["port"].ToString(),
                            processName = reader["process_name"].ToString(),
                            type        = reader["type"].ToString()
                        },
                        Base          = null,
                        BaseRunId     = firstRunId,
                        CompareRunId  = secondRunId,
                        BaseRowKey    = "",
                        CompareRowKey = reader["row_key"].ToString(),
                        ResultType    = RESULT_TYPE.PORT,
                        ChangeType    = CHANGE_TYPE.CREATED
                    };
                    addObjects.Add(obj);
                    InsertResult(obj);
                }
            }
            Results["ports_add"] = addObjects;

            Log.Information("{0} {1} {2}", Strings.Get("Found"), addObjects.Count, Strings.Get("Created"));;

            var removeObjects = new List <OpenPortResult>();

            cmd = new SqliteCommand(SELECT_DELETED_SQL, DatabaseManager.Connection, DatabaseManager.Transaction);
            cmd.Parameters.AddWithValue("@first_run_id", firstRunId);
            cmd.Parameters.AddWithValue("@second_run_id", secondRunId);
            using (var reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    var obj = new OpenPortResult()
                    {
                        Base = new OpenPortObject()
                        {
                            address     = reader["address"].ToString(),
                            family      = reader["family"].ToString(),
                            port        = reader["port"].ToString(),
                            processName = reader["process_name"].ToString(),
                            type        = reader["type"].ToString()
                        },
                        Compare       = null,
                        BaseRunId     = firstRunId,
                        CompareRunId  = secondRunId,
                        CompareRowKey = "",
                        BaseRowKey    = reader["row_key"].ToString(),
                        ResultType    = RESULT_TYPE.PORT,
                        ChangeType    = CHANGE_TYPE.DELETED
                    };
                    removeObjects.Add(obj);
                    InsertResult(obj);
                }
            }
            Results["ports_remove"] = removeObjects;

            Log.Information("{0} {1} {2}", Strings.Get("Found"), removeObjects.Count, Strings.Get("Deleted"));
        }