schangxiang@126.com
2025-11-04 f5ed29dc26c7cd952d56ec5721a2efc43cd25992
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
using DataEntity;
using DataEntity.Device;
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;
 
namespace DataRWDAL
{
    /// <summary>
    /// 挑菌涂布运行详细
    /// </summary>
    public class ExperimentRunDetailDB : BaseDB
    {
        #region 登录挑菌涂布运行详细数据
        /// <summary>
        /// 登录挑菌涂布运行详细数据
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static int Add(ExperimentRunDetailModel model)
        {
            using (var db = GetInstance())
            {
                return db.Insertable<ExperimentRunDetailModel>(model).ExecuteCommand();
            }
        }
        #endregion
 
        /// <summary>
        /// 更新挑菌涂布运行详细数据
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static int Update(ExperimentRunDetailModel model)
        {
            using (var db = GetInstance())
            {
                return db.Updateable<ExperimentRunDetailModel>(model).ExecuteCommand();
            }
        }
 
        #region 根据挑菌运行Id,获取运行的步骤号
        /// <summary>
        /// 根据挑菌运行Id,获取运行的步骤号
        /// </summary>
        /// <param name="runChoiceBacteraId"></param>
        /// <returns></returns>
        public static int GetMaxStepIndexByRunChoiceBacteraId(string runChoiceBacteraId)
        {
            using (var db = GetInstance())
            {
                return db.Queryable<ExperimentRunDetailModel>().Where(it => it.RunChoiceBacteraId.Equals(runChoiceBacteraId)).Max(it => it.StepIndex);
            }
        }
        #endregion
 
        #region 根据实验Id、挑菌运行Id,获取挑菌详细信息
        /// <summary>
        /// 根据实验Id、挑菌运行Id,获取挑菌详细信息
        /// </summary>
        /// <param name="experimentId"></param>
        /// <param name="runChoiceBacteraId"></param>
        /// <returns></returns>
        public static List<ExperimentRunDetailModel> GetList(string experimentId, string runChoiceBacteraId)
        {
            using (var db = GetInstance())
            {
                return db.Queryable<ExperimentRunDetailModel>().Where(it => it.ExperimentId.Equals(experimentId) &&
                    it.RunChoiceBacteraId == runChoiceBacteraId).OrderBy(it => it.StepIndex, OrderByType.Asc).ToList();
            }
        }
        #endregion
 
        #region 挑菌运行Id,获取挑菌详细信息
        /// <summary>
        /// 挑菌运行Id,获取挑菌详细信息
        /// </summary>
        /// <param name="runChoiceBacteraId"></param>
        /// <returns></returns>
        public static List<ExperimentRunDetailModel> GetList(string runChoiceBacteraId)
        {
            using (var db = GetInstance())
            {
                return db.Queryable<ExperimentRunDetailModel>().Where(it => it.RunChoiceBacteraId == runChoiceBacteraId).OrderBy(it => it.StepIndex, OrderByType.Asc).ToList();
            }
        }
        #endregion
 
        #region 根据主键,获取挑菌详细信息
        /// <summary>
        /// 根据主键,获取挑菌详细信息
        /// </summary>
        /// <param name="runChoiceBacteraId"></param>
        /// <param name="stepIndex"></param>
        /// <returns></returns>
        public static ExperimentRunDetailModel GetInfodById(string runChoiceBacteraId, int stepIndex)
        {
            using (var db = GetInstance())
            {
                return db.Queryable<ExperimentRunDetailModel>().Single(it => it.RunChoiceBacteraId.Equals(runChoiceBacteraId) && it.StepIndex == stepIndex);
            }
        }
 
        #endregion
 
        #region 实验运行Id,获取移液详情数据集
        /// <summary>
        /// 实验运行Id,获取移液详情数据集
        /// </summary>
        /// <param name="experimentId"></param>
        /// <returns>移液详情数据集</returns>
        public static ObservableCollection<ExperimentRunDetailModel> GetMoveLiquidList(string experimentId)
        {
            using (var db = GetInstance())
            {
                return new ObservableCollection<ExperimentRunDetailModel>(db.Queryable<ExperimentRunDetailModel>().Where(it => it.ExperimentId == experimentId).OrderBy(it => it.StepIndex, OrderByType.Asc).ToList());
            }
        }
        #endregion
    }
}