using DataEntity;
using DataEntity.Device;
using DataEntity.Page;
using DataEntity.Share;
using DataRWDAL.Base;
using HxEnum;
using MySql.Data.MySqlClient;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Data;
using XCommon.Log;
using XCommon.MySql;
using XCommon.SqlSugar;
using XImagingXhandler.XDAL;
namespace DataRWDAL
{
public class ExperimentRunChoiceBacteraDB : BaseDB
{
///
/// 根据设备Id,获取设备信息
///
///
///
public static ExperimentRunChoiceBacteraModel GetInfodById(string runChoiceBacteraId)
{
using (var db = GetInstance())
{
var model = db.Queryable().Single(it => it.RunChoiceBacteraId.Equals(runChoiceBacteraId));
model.IdentificationName =
EnumManagement.GetEnumDescription(EnumManagement.GetField(model.Identification));
return model;
}
}
#region 获取分页数据
///
/// 获取分页数据
///
///
///
///
public static Tuple, int> GetPageData(Pagination pagination, ExperimentRunChoiceBacteraModel condition)
{
using (var db = GetInstance())
{
var whereExpression = LinqExtensions.True();
if (condition.StartTime != DateTime.MinValue)
{
whereExpression = whereExpression.And(it => it.TakePhotoTime >= condition.StartTime);
}
if (condition.EndTime != DateTime.MinValue)
{
whereExpression = whereExpression.And(it => it.TakePhotoTime <= condition.EndTime);
}
if (!string.IsNullOrEmpty(condition.SourceBarcode))
{
whereExpression = whereExpression.And(it => it.SourceBarcode.Contains(condition.SourceBarcode));
}
if (condition.Identification != -1)
{
whereExpression = whereExpression.And(it => it.Identification == condition.Identification);
}
if (!string.IsNullOrEmpty(condition.ExperimentId))
{
whereExpression = whereExpression.And(it => it.ExperimentId.Contains(condition.ExperimentId));
}
// u => u.Sort
return GetPage(pagination, whereExpression, u => u.TakePhotoTime, OrderByType.Desc);
}
}
#endregion
#region 登录挑菌数据
///
/// 登录挑菌数据
///
///
///
public static int Add(ExperimentRunChoiceBacteraModel model)
{
using (var db = GetInstance())
{
Shared.ExpChoiceBactera = model;
return db.Insertable(model).ExecuteCommand();
}
}
#endregion
}
}