namespace IStation.Service
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public partial class AnalysisParameter
|
{
|
/// <summary>
|
///
|
/// </summary>
|
/// <returns></returns>
|
public static Dictionary<string, List<Model.AnalysisParameter>> GetDictCache()
|
{
|
return AnalysisParameterCacheHelper.GetSet(() =>
|
{
|
var dal = DALCreateHelper.CreateDAL<IStation.DAL.IAnalysisParameter>();
|
var entity_dict = dal.GetAllTable();
|
if (entity_dict == null || !entity_dict.Any())
|
{
|
return new Dictionary<string, List<Model.AnalysisParameter>>();
|
}
|
|
var model_dict = new Dictionary<string, List<Model.AnalysisParameter>>();
|
for (int i = 0; i < entity_dict.Count; i++)
|
{
|
var entity_item = entity_dict.ElementAt(i);
|
model_dict[entity_item.Key] = Entity2Models(entity_item.Value);
|
}
|
return model_dict;
|
}, ConfigHelper.CacheKeepTime, ConfigHelper.CacheRandomTime);
|
}
|
|
|
/// <summary>
|
/// 查询
|
/// </summary>
|
public List<Model.AnalysisParameter> GetList(string run_flag)
|
{
|
var dal = DALCreateHelper.CreateDAL<IStation.DAL.IAnalysisParameter>();
|
var tableName = dal.GetTableName(run_flag);
|
var dict = GetDictCache();
|
if (!dict.ContainsKey(tableName))
|
return default;
|
|
return dict[tableName]?.OrderBy(x => x.Power).ToList();
|
}
|
|
/// <summary>
|
/// 查询
|
/// </summary>
|
public List<Model.AnalysisParameter> GetList(string run_flag, double pressure_diff)
|
{
|
var dal = DALCreateHelper.CreateDAL<IStation.DAL.IAnalysisParameter>();
|
var tableName = dal.GetTableName(run_flag);
|
var dict = GetDictCache();
|
if (!dict.ContainsKey(tableName))
|
return default;
|
|
return dict[tableName]?
|
.Where(x => x.PressureDiff == pressure_diff)
|
.OrderBy(x => x.Power)
|
.ToList();
|
}
|
|
/// <summary>
|
/// 查询
|
/// </summary>
|
public Model.AnalysisParameter GetMinPressureDiff(string run_flag)
|
{
|
var dal = DALCreateHelper.CreateDAL<IStation.DAL.IAnalysisParameter>();
|
var tableName = dal.GetTableName(run_flag);
|
var dict = GetDictCache();
|
if (!dict.ContainsKey(tableName))
|
return default;
|
return dict[tableName]?.OrderBy(x => x.PressureDiff).FirstOrDefault();
|
}
|
|
/// <summary>
|
/// 查询
|
/// </summary>
|
public List<Model.AnalysisParameter> GetList(string run_flag, double min_hz, double max_hz, double pressure_diff)
|
{
|
var dal = DALCreateHelper.CreateDAL<IStation.DAL.IAnalysisParameter>();
|
var tableName = dal.GetTableName(run_flag);
|
var dict = GetDictCache();
|
if (!dict.ContainsKey(tableName))
|
return default;
|
|
return dict[tableName]?
|
.Where(x => x.Hz >= min_hz && x.Hz <= max_hz && x.PressureDiff == pressure_diff)
|
.OrderBy(x => x.Power)
|
.ToList();
|
}
|
|
}
|
}
|