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
129
130
131
132
133
134
135
136
137
138
139
140
141
using DataRWDAL.Base;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Reflection;
using XImagingXhandler.XDAL;
 
namespace DataRWDAL
{
    /// <summary>
    /// 菌落库表操作类
    /// </summary>
    public class BacteriaDB: BaseDB
    {
        #region 根据菌落Id,获取菌落信息
        /// <summary>
        /// 根据菌落Id,获取菌落信息
        /// </summary>
        /// <param name="bacteriaid">菌落Id</param>
        /// <returns>菌落对象</returns>
        public static Bacteria GetABacteriaFromdb(string bacteriaid)
        {
            using (var db = GetInstance())
            {
                return db.Queryable<Bacteria>().Single(it => it.bacteria_id.Equals(bacteriaid));
            }
        }
        #endregion
 
        #region 添加一条新的菌数据 by 菌落对象
        /// <summary>
        /// 添加一条新的菌落数据 by 菌落对象
        /// </summary>
        /// <param name="bacteria">菌落对象</param>
        /// <returns>1:成功;0:失败</returns>
        public static int AddBacteriaIntodb(Bacteria bacteria)
        {
            using (var db = GetInstance())
            {
                return db.Insertable<Bacteria>(bacteria).ExecuteCommand();
            }
        }
        #endregion
 
        #region 查询菌落是否重名 by 菌落对象
        /// <summary>
        /// 查询菌落是否重名 by 菌落对象
        /// </summary>
        /// <param name="bacteria">菌落对象</param>
        /// <returns>true:存在;false:不存在</returns>
        public static bool GetIsDoubleBacteriaOndb(Bacteria bacteria)
        {
            bool isExistUser = false;
            int count = 0;
            using (var db = GetInstance())
            {
                if (bacteria.bacteria_id != "")
                {
                    count= db.Queryable<Bacteria>().Where(it => it.bacteria_name.Equals(bacteria.bacteria_name)&&!it.bacteria_id.Equals(bacteria.bacteria_id)&&it.bacteria_status.Equals(1)).Count();
                }
                else
                {
                    count = db.Queryable<Bacteria>().Where(it => it.bacteria_name.Equals(bacteria.bacteria_name) && it.bacteria_status.Equals(1)).Count();
                }
 
                if(count>0)
                {
                    isExistUser = true;
                }
                else
                {
                    isExistUser = false;
                }
            }
            return isExistUser;
        }
        #endregion
 
        #region 修改一条新的菌落数据 by 菌落对象
        /// <summary>
        /// 修改一条新的菌落数据 by 菌落对象
        /// </summary>
        /// <param name="bacteria">菌落对象</param>
        /// <returns>1:成功;0:失败</returns>
        public static int UpdateBacteriaIntodb(Bacteria bacteria)
        {
            using (var db = GetInstance())
            {
                return db.Updateable<Bacteria>(bacteria).ExecuteCommand();
            }
        }
        #endregion
 
        #region 查询返回菌落数据集 by 默认类型
        /// <summary>
        /// 查询返回菌落数据集 by 默认类型
        /// </summary>
        /// <param name="isDefault">1:系统默认;0:非默认;2:全部</param>
        /// <returns></returns>
        public static ObservableCollection<Bacteria> GetBacteriaListFromdb(int isDefault)
        {
            using (var db = GetInstance())
            {
                if (isDefault == 2)
                {
                    return new ObservableCollection<Bacteria>(db.Queryable<Bacteria>().Where(it => it.bacteria_status.Equals(1)).ToList());
                }
                else
                {
                    return new ObservableCollection<Bacteria>(db.Queryable<Bacteria>().Where(it => it.bacteria_status.Equals(1)&&it.is_default_type.Equals(isDefault)).ToList());
                }
            }
            
        }
        #endregion
 
        #region 构建返回挑菌位置数据集合信息
        /// <summary>
        /// 构建返回挑菌位置数据集合信息
        /// </summary>
        /// <returns>挑菌位置实体集合</returns>
        public static ObservableCollection<DropdownName> GetBacteriaPositionListFromdb()
        {
            ObservableCollection<DropdownName> dropdowns = new ObservableCollection<DropdownName>();
 
            DropdownName dropdown = new DropdownName();
 
            dropdown.dropdown_id = "1";
            dropdown.dropdown_name = "距离皿底距离";
            dropdowns.Add(dropdown);
 
            dropdown = new DropdownName();
 
            dropdown.dropdown_id = "2";
            dropdown.dropdown_name = "菌表面距离";
            dropdowns.Add(dropdown);
 
            return dropdowns;
        }
        #endregion
    }
}