OrgHistoryDb.cs 2.35 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
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);
        }

    }
}