using SQLite; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FLY.Thick.Blowing.Server.Model { /// <summary> /// 原始数据库 写操作 /// </summary> public class OrgHistoryDb { OrgDbModel orgDbModel; /// <summary> /// /// </summary> /// <param name="orgDBModel"></param> public void Init(OrgDbModel orgDBModel) { this.orgDbModel = orgDBModel; } /// <summary> /// 按时间删除原始数据库 /// </summary> /// <param name="day"></param> public void KeepDbSize(int day) { if (day <= 2) day = 2; DateTime del_time = DateTime.Now - TimeSpan.FromDays(day); string det_time_str = del_time.ToStringOfSQLiteFieldType(); List<string> sqls = new List<string>(); sqls.Add( $"DELETE FROM {orgDbModel.TbSign.TableName}" + $" WHERE Time < {det_time_str}"); sqls.Add( $"DELETE FROM {orgDbModel.TbRoll.TableName}" + $" WHERE Time < {det_time_str}"); orgDbModel.sqliteHelper.QueryTran(sqls); } /// <summary> /// 记录 原始数据.转向信号 /// </summary> /// <param name="lc_Sign"></param> public void AddSignData( Lc_Sign lc_Sign ) { lc_Sign.ID = orgDbModel.TbSign.FreeID; //SQLs List<string> sqls = new List<string>(); var db_Sign = OrgLc_AutoMapperProfile.Mapper.Map<Db_Sign>(lc_Sign); sqls.Add(SQLiteHelper.GetInsertCommandText(db_Sign)); orgDbModel.sqliteHelper.QueryTranAsync(sqls); } /// <summary> /// 记录 原始数据.辊信号 /// </summary> /// <param name="lc_Roll"></param> public void AddRollData( Lc_Roll lc_Roll ) { lc_Roll.ID = orgDbModel.TbRoll.FreeID; //SQLs List<string> sqls = new List<string>(); var db_Roll = OrgLc_AutoMapperProfile.Mapper.Map<Db_Roll>(lc_Roll); sqls.Add(SQLiteHelper.GetInsertCommandText(db_Roll)); orgDbModel.sqliteHelper.QueryTranAsync(sqls); } } }