using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using SqlSugar;
|
|
namespace IStation.DAL
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public class MonitorRecord : BaseDAL<Entity.MonitorRecord>
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public override ConnectionConfig ConnectionConfig
|
{
|
get { return ConfigHelper.DefaultConnectionConfig; }
|
}
|
|
#region 通过 MonitorPointID 获取
|
|
/// <summary>
|
/// 通过 MonitorPointID 获取某天的全部数据
|
/// </summary>
|
public List<Entity.MonitorRecord> GetByMonitorPointIDOfDay( long MonitorPointID, DateTime Day)
|
{
|
if (MonitorPointID < 1)
|
return default;
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.MonitorRecord>()
|
.Where(x => x.MonitorPointID == MonitorPointID && x.DataTime >= Day.Date && x.DataTime < Day.Date.AddDays(1))
|
.OrderBy(x => x.DataTime, OrderByType.Asc).ToList();
|
}
|
}
|
|
/// <summary>
|
/// 通过 MonitorPointID 获取日期区间内的数据
|
/// </summary>
|
public List<Entity.MonitorRecord> GetByMonitorPointIDOfDayRange( long MonitorPointID, DateTime StartDay, DateTime EndDay)
|
{
|
if (StartDay.Date > EndDay.Date)
|
return default;
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.MonitorRecord>()
|
.Where(x => x.MonitorPointID == MonitorPointID && x.DataTime >= StartDay.Date && x.DataTime < EndDay.Date.AddDays(1))
|
.OrderBy(x => x.DataTime, OrderByType.Asc).ToList();
|
}
|
}
|
|
/// <summary>
|
/// 通过 MonitorPointID 获取时间区间内的数据
|
/// </summary>
|
public List<Entity.MonitorRecord> GetByMonitorPointIDOfTimeRange( long MonitorPointID, DateTime StartTime, DateTime EndTime)
|
{
|
if (StartTime > EndTime)
|
return default;
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.MonitorRecord>()
|
.Where(x => x.MonitorPointID == MonitorPointID && x.DataTime >= StartTime && x.DataTime <= EndTime)
|
.OrderBy(x => x.DataTime, OrderByType.Asc).ToList();
|
}
|
}
|
|
#endregion
|
|
|
#region Update
|
|
/// <summary>
|
/// 更新
|
/// </summary>
|
public override bool Update(Entity.MonitorRecord entity)
|
{
|
if (entity == null)
|
return false;
|
using (SqlSugarClient db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Updateable(entity).IgnoreColumns(x => x.DataTime).Where(x => x.ID == entity.ID).ExecuteCommand() > 0;
|
}
|
}
|
|
/// <summary>
|
/// 批量更新
|
/// </summary>
|
public override bool Updates(List<Entity.MonitorRecord> list)
|
{
|
if (list == null || list.Count < 1)
|
return false;
|
using (SqlSugarClient db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Updateable(list).IgnoreColumns(x => x.DataTime).WhereColumns(it => new { it.ID }).ExecuteCommand() > 0;
|
}
|
}
|
|
#endregion
|
|
|
}
|
}
|