using IStation.CalcModel;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
namespace IStation.DAL
{
///
/// 数据库访问基类
///
public partial class AnaProject
{
///
/// 构造函数
///
public AnaProject()
{
}
///
/// 数据库连接
///
public virtual ISqlSugarClient Connection
{
get
{
var connection = CreateConnection();
return connection;
}
}
public static ISqlSugarClient CreateConnection()
{
var path = System.IO.Path.Combine(IStation.DataFolderHelper.GetRootPath(), "AnaProject.db");
if (!System.IO.File.Exists(path))
{
throw new Exception($"缺少Project.db文件");
}
ConnectionConfig connectionConfig = new ConnectionConfig()
{
DbType = SqlSugar.DbType.Sqlite,
ConnectionString = "Data Source=" + path,// + ";Version=3;",
IsAutoCloseConnection = true,//是否自动关闭
};
ISqlSugarClient conn = new SqlSugarClient(connectionConfig);
return conn;
}
#region Insert
///
/// 插入指定对象到数据库中
///
public long Insert(IStation.CalcModel.AnaPrj result_prj, IStation.CalcModel.AnaRequest ana_request)
{
IStation.Entity.AnaProjectEntity entity = new Entity.AnaProjectEntity();
entity.PrjID = result_prj.ID;
entity.StartTime = result_prj.StartTime;
entity.EndTime = result_prj.EndTime;
entity.CreateTime = DateTime.Now;
entity.TotalFlow = (int)ana_request.TotalFlow取水总量;
entity.CalcOptType = (int)ana_request.CalcOptType;
SnowFlakeSingle.WorkId = 1;
using (ISqlSugarClient db = Connection)
{
return db.Insertable(entity).ExecuteReturnSnowflakeId();
}
}
///
/// 插入指定对象到数据库中
///
public long Insert(IStation.CalcModel.AnaPrj result_prj, IStation.CalcModel.AnaRequestBase ana_request)
{
IStation.Entity.AnaProjectEntity entity = new Entity.AnaProjectEntity();
entity.PrjID = result_prj.ID;
entity.StartTime = result_prj.StartTime;
entity.EndTime = result_prj.EndTime;
entity.CreateTime = DateTime.Now;
entity.TotalFlow = (int)ana_request.TotalFlow取水总量;
entity.CalcOptType = (int)ana_request.CalcOptType;
SnowFlakeSingle.WorkId = 1;
using (ISqlSugarClient db = Connection)
{
return db.Insertable(entity).ExecuteReturnSnowflakeId();
}
}
#endregion
#region Query
///
/// 返回数据库所有的对象集合
///
public List GetAll()
{
using (ISqlSugarClient db = Connection)
{
return db.Queryable()?.ToList();
}
}
///
/// 查询数据库,返回指定ID的对象
///
public Entity.AnaProjectEntity GetByPrjID(string prj_id)
{
using (ISqlSugarClient db = Connection)
{
return db.Queryable().Single(x => x.PrjID == prj_id);
}
}
public Entity.AnaProjectEntity GetLastRecord()
{
using (ISqlSugarClient db = Connection)
{
return db.Queryable().OrderByDescending(i => i.ID).Take(1).First();
}
}
#endregion
}
}