public void OpenPort() { if (IsOpen) { return; } if (!m_Port.Open(TheProfile, DefaultTimeout)) { OpenPortResult?.Invoke(new TimeoutException("打开端口失败")); } }
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); }
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")); }