温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:NBear+NBear开发BBS系统源码
当前文件:
NBBS/NBearDAL/BoardDAL.cs,打开代码结构图
NBBS/NBearDAL/BoardDAL.cs,打开代码结构图1using System; 2
using System.Configuration; 3
using System.Collections; 4
using System.Collections.Generic; 5
using System.Data.Common; 6
using NBBS.IDAL; 7
using NBBS.Entity; 8
using NBBS.NBearDAL.EntityConvertor; 9
using NBear.Common; 10
using NBear.Data; 11
12
namespace NBBS.NBearDAL 13
{ 14
/// <summary> 15
/// 数据访问层-子版面 16
/// </summary> 17
public class BoardDAL : IBoardDAL 18
{ 19
/// <summary> 20
/// 插入一个子版面 21
/// </summary> 22
/// <param name="Board">子版面实体类</param> 23
/// <returns>操作是否成功</returns> 24
public bool Insert(BoardInfo board) 25
{ 26
Gateway.SetDefaultDatabase("NBearConnectionString"); 27
28
t_Board boardTable = BoardConvertor.EntityToNBear(board); 29
DbTransaction transcation = Gateway.Default.BeginTransaction(); 30
try 31
{ 32
Gateway.Default.Save<t_Board>(boardTable, transcation); 33
transcation.Commit(); 34
return true; 35
} 36
catch 37
{ 38
transcation.Rollback(); 39
return false; 40
} 41
finally 42
{ 43
Gateway.Default.CloseTransaction(transcation); 44
} 45
} 46
47
/// <summary> 48
/// 删除一个子版面 49
/// </summary> 50
/// <param name="id">欲删除子版面的ID</param> 51
/// <returns>操作是否成功</returns> 52
public bool Delete(int id) 53
{ 54
Gateway.SetDefaultDatabase("NBearConnectionString"); 55
56
DbTransaction transcation = Gateway.Default.BeginTransaction(); 57
try 58
{ 59
Gateway.Default.Delete<t_Board>(transcation, id); 60
transcation.Commit(); 61
return true; 62
} 63
catch 64
{ 65
transcation.Rollback(); 66
return false; 67
} 68
finally 69
{ 70
Gateway.Default.CloseTransaction(transcation); 71
} 72
} 73
74
/// <summary> 75
/// 更新子版面信息 76
/// </summary> 77
/// <param name="Board">子版面实体类</param> 78
/// <returns>操作是否成功</returns> 79
public bool Update(BoardInfo board) 80
{ 81
Gateway.SetDefaultDatabase("NBearConnectionString"); 82
83
t_Board boardTable = BoardConvertor.EntityToNBear(board); 84
PropertyItem[] properties = { 85
new PropertyItem("Board_Name"), 86
new PropertyItem("Board_Place"), 87
new PropertyItem("Board_Description"), 88
new PropertyItem("Board_DescriptionColor"), 89
}; 90
object[] values ={ 91
boardTable.Board_Name, 92
boardTable.Board_Place, 93
boardTable.Board_Description, 94
boardTable.Board_DescriptionColor, 95
}; 96
97
DbTransaction transcation = Gateway.Default.BeginTransaction(); 98
try 99
{ 100
Gateway.Default.Update<t_Board>(properties, values, t_Board._.Board_ID == board.ID, transcation); 101
transcation.Commit(); 102
return true; 103
} 104
catch 105
{ 106
transcation.Rollback(); 107
return false; 108
} 109
finally 110
{ 111
Gateway.Default.CloseTransaction(transcation); 112
} 113
} 114
115
/// <summary> 116
/// 按ID取得一个子版面的全部信息 117
/// </summary> 118
/// <param name="id">子版面ID</param> 119
/// <returns>子版面实体类</returns> 120
public BoardInfo GetByID(int id) 121
{ 122
Gateway.SetDefaultDatabase("NBearConnectionString"); 123
t_Board boardTable = Gateway.Default.Find<t_Board>(t_Board._.Board_ID == id); 124
return boardTable == null ? null : BoardConvertor.NBearToEntity(boardTable); 125
} 126
127
/// <summary> 128
/// 按名称取得一个子版面的全部信息 129
/// </summary> 130
/// <param name="name">名字</param> 131
/// <returns>子版面实体类</returns> 132
public BoardInfo GetByName(string name) 133
{ 134
Gateway.SetDefaultDatabase("NBearConnectionString"); 135
t_Board boardTable = Gateway.Default.Find<t_Board>(t_Board._.Board_Name == name); 136
return boardTable == null ? null : BoardConvertor.NBearToEntity(boardTable); 137
} 138
139
/// <summary> 140
/// 取得所有子版面信息 141
/// </summary> 142
/// <returns>子版面实体集合类</returns> 143
public IList<BoardInfo> GetAll() 144
{ 145
IList<BoardInfo> boards = new List<BoardInfo>(); 146
147
Gateway.SetDefaultDatabase("NBearConnectionString"); 148
t_Board[] boardTableList = Gateway.Default.FindArray<t_Board>(t_Board._.Board_Place.Asc); 149
150
foreach (t_Board boardItem in boardTableList) 151
{ 152
boards.Add(BoardConvertor.NBearToEntity(boardItem)); 153
} 154
155
return boards; 156
} 157
158
/// <summary> 159
/// 按主版面取得所有子版面信息 160
/// </summary> 161
/// <param name="motherBoardId">主版面ID</param> 162
/// <returns>子版面实体集合类</returns> 163
public IList<BoardInfo> GetByMotherBoard(int motherBoardId) 164
{ 165
IList<BoardInfo> boards = new List<BoardInfo>(); 166
167
Gateway.SetDefaultDatabase("NBearConnectionString"); 168
t_Board[] boardTableList = Gateway.Default.FindArray<t_Board>(t_Board._.MotherBoard_ID == motherBoardId, t_Board._.Board_Place.Asc); 169
170
foreach (t_Board boardItem in boardTableList) 171
{ 172
boards.Add(BoardConvertor.NBearToEntity(boardItem)); 173
} 174
175
return boards; 176
} 177
178
/// <summary> 179
/// 取得Place字段的最大值 180
/// </summary> 181
/// <returns>最大Place</returns> 182
public int GetMaxPlace() 183
{ 184
Gateway.SetDefaultDatabase("NBearConnectionString"); 185
object maxPlace = Gateway.Default.Max<t_Board>(null, t_Board._.Board_Place); 186
if (maxPlace == DBNull.Value) 187
{ 188
return 0; 189
} 190
else 191
{ 192
return (int)maxPlace; 193
} 194
} 195
196
/// <summary> 197
/// 取得所有子版面的记录数 198
/// </summary> 199
/// <returns>记录数</returns> 200
public int GetCount() 201
{ 202
Gateway.SetDefaultDatabase("NBearConnectionString"); 203
return Gateway.Default.Count<t_Board>(null); 204
} 205
} 206
} 207





}