public object SearchHistory(string[] pointNames, DateTime startTime, DateTime endTime) { using (var hisDB = new DB.SunRiz(HistoryRecord.HistoryAutoRec.HistoryDataPath, Way.EntityDB.DatabaseType.Sqlite)) { List <object> result = new List <object>(); foreach (string pointName in pointNames) { var data = (from m in hisDB.History where m.Time >= startTime && m.Time <= endTime && m.Address == pointName orderby m.Time select m).ToArray(); var resultData = new object[data.Length]; for (int i = 0; i < resultData.Length; i++) { resultData[i] = new { seconds = Helper.ConvertDateTimeInt(data[i].Time.GetValueOrDefault()), value = data[i].Value.GetValueOrDefault() }; } result.Add(resultData); } return(result); } }
public int UpdateSystemSetting(SystemSetting data) { var needRestartHistory = false; if (data.ChangedProperties.Any(m => m.Key == "HistoryPath")) { //历史保存路径修改了 needRestartHistory = true; //这里确保能创建数据库 if (!string.IsNullOrEmpty(data.HistoryPath)) { var HistoryDataPath = $"data source=\"{data.HistoryPath.Replace("\\", "/")}/history_data.db\""; using (var hisDB = new DB.SunRiz(HistoryDataPath, Way.EntityDB.DatabaseType.Sqlite)) { } } } if (data.ChangedProperties.Any(m => m.Key == "LogPath")) { SystemLog.Init(); } SystemHelper.AddSysLog(this.User.id.Value, "更新系统设置:" + Newtonsoft.Json.JsonConvert.SerializeObject(data.ChangedProperties)); this.db.Update(data); if (needRestartHistory) { HistoryRecord.HistoryAutoRec.ReStart(); } return(data.id.Value); }
protected override void OnUnLoad() { if (_hisDB != null) { _hisDB.Dispose(); _hisDB = null; } base.OnUnLoad(); }
/// <summary> /// 添加系统日志 /// </summary> /// <param name="userid"></param> /// <param name="content"></param> public static void AddSysLog(int userid, string content) { if (string.IsNullOrEmpty(SystemLog.LogDataPath)) { return; } using (var db = new DB.SunRiz(SystemLog.LogDataPath, Way.EntityDB.DatabaseType.Sqlite)) { db.Insert(new SysLog { UserId = userid, Content = content, Time = DateTime.Now }); } }