1#region Using
2
3using System;
4using System.Collections.Generic;
5using System.Text;
6using System.Transactions;
7using Mdf.Base;
8using Mdf.Custom.Equipment.DsCustomEquipmentTableAdapters;
9
10#endregion
11
12namespace Mdf.Custom.Equipment
13{
14 public partial class Tank : Mdf.Base.MdfObject
15 {
16 #region Class definition
17
18 private DsCustomEquipment dsCustomEquipment;
19
20
21
22
23 public Tank()
24 {
25 dsCustomEquipment = new DsCustomEquipment();
26 TankRow = dsCustomEquipment.Tanks.NewTanksRow();
27 TankRow.EquipmentClassID = "Tank";
28 }
29
30
31
32
33
34 public Tank(string tankID)
35 {
36 dsCustomEquipment = new DsCustomEquipment();
37 TankRow = GetTankByTankID(tankID);
38 dsCustomEquipment.Tanks.ImportRow(TankRow);
39 }
40
41 #endregion
42
43 #region Methods
44
45
46
47
48 public override void Save()
49 {
50 TanksTableAdapter tanksTableAdapter = new TanksTableAdapter();
51 using (TransactionScope transactionScope = new TransactionScope())
52 {
53 if (TankRow.RowState == System.Data.DataRowState.Detached)
54 {
55 dsCustomEquipment.Tanks.AddTanksRow(TankRow);
56 Mdf.Equipment.Equipment.Add(TankID, Description, EquipmentClassID, ParentEquipmentID);
57 }
58 else
59 {
60 Mdf.Equipment.Equipment.Modify(TankID, Description, EquipmentClassID, ParentEquipmentID);
61 }
62 tanksTableAdapter.Update(dsCustomEquipment);
63 transactionScope.Complete();
64 }
65 }
66
67
68
69
70 public override void Delete()
71 {
72 TanksTableAdapter tanksTableAdapter = new TanksTableAdapter();
73 using (TransactionScope transactionScope = new TransactionScope())
74 {
75 if (TankRow.RowState != System.Data.DataRowState.Detached)
76 {
77 TankRow.Delete();
78 tanksTableAdapter.Update(dsCustomEquipment);
79 Mdf.Equipment.Equipment.Delete(TankID);
80 }
81 transactionScope.Complete();
82 }
83 }
84
85
86
87
88 public override string ToString()
89 {
90 return TankRow.TankID;
91 }
92
93 #endregion
94
95 #region Properties
96
97
98
99
100 public DsCustomEquipment.TanksRow TankRow;
101
102
103
104
105 public string TankID
106 {
107 get
108 {
109 return TankRow.TankID;
110 }
111 set
112 {
113 TankRow.TankID = value;
114 }
115 }
116
117
118
119
120 public string Description
121 {
122 get
123 {
124 return TankRow.Description;
125 }
126 set
127 {
128 TankRow.Description = value;
129 }
130 }
131
132
133
134
135 public string EquipmentClassID
136 {
137 get
138 {
139 return TankRow.EquipmentClassID;
140 }
141 }
142
143
144
145
146 public string ParentEquipmentID
147 {
148 get
149 {
150 return TankRow.ParentEquipmentID;
151 }
152 set
153 {
154 TankRow.ParentEquipmentID = value;
155 }
156 }
157
158
159
160
161 public decimal Volume
162 {
163 get
164 {
165 return TankRow.Volume;
166 }
167 set
168 {
169 TankRow.Volume = value;
170 }
171 }
172
173 #endregion
174
175 #region Static methods
176
177 #region Add, modify and delete methods
178
179
180
181
182
183
184
185
186
187 public static DsCustomEquipment.TanksRow Add(string tankID, string description, string parentEquipmentID, decimal volume)
188 {
189 DsCustomEquipment dsCustomEquipment = new DsCustomEquipment();
190 TanksTableAdapter tanksTableAdapter = new TanksTableAdapter();
191 DsCustomEquipment.TanksRow tanksRow = dsCustomEquipment.Tanks.NewTanksRow();
192
193 tanksRow.Description = description;
194 tanksRow.ParentEquipmentID = parentEquipmentID;
195 tanksRow.TankID = tankID;
196 tanksRow.Volume = volume;
197 tanksRow.EquipmentClassID = "Tank";
198 dsCustomEquipment.Tanks.AddTanksRow(tanksRow);
199 using (TransactionScope transactionScope = new TransactionScope())
200 {
201 Mdf.Equipment.Equipment.Add(tankID, description, tanksRow.EquipmentClassID, parentEquipmentID);
202
203 tanksTableAdapter.Update(tanksRow);
204 transactionScope.Complete();
205 }
206
207 return tanksRow;
208 }
209
210
211
212
213
214
215
216
217 public static void Modify(string tankID, string description, string parentEquipmentID, decimal volume)
218 {
219 TanksTableAdapter tanksTableAdapter = new TanksTableAdapter();
220 DsCustomEquipment.TanksRow tanksRow = GetTankByTankID(tankID);
221
222 tanksRow.Volume = volume;
223
224 using (TransactionScope transactionScope = new TransactionScope())
225 {
226 Mdf.Equipment.Equipment.Modify(tankID, description, tanksRow.EquipmentClassID, parentEquipmentID);
227
228 tanksTableAdapter.Update(tanksRow);
229 transactionScope.Complete();
230 }
231 }
232
233
234
235
236
237 public static void Delete(string tankID)
238 {
239 TanksTableAdapter tanksTableAdapter = new TanksTableAdapter();
240 DsCustomEquipment.TanksRow tanksRow = GetTankByTankID(tankID);
241
242 tanksRow.Delete();
243 using (TransactionScope transactionScope = new TransactionScope())
244 {
245 tanksTableAdapter.Update(tanksRow);
246 Mdf.Equipment.Equipment.Delete(tankID);
247 transactionScope.Complete();
248 }
249 }
250
251 #endregion
252
253 #region Exist method
254
255
256
257
258
259
260 public static bool Exist(string tankID)
261 {
262 DsCustomEquipment dsCustomEquipment = new DsCustomEquipment();
263 TanksTableAdapter tanksTableAdapter = new TanksTableAdapter();
264 tanksTableAdapter.FillByTankID(dsCustomEquipment.Tanks, tankID);
265
266 if (dsCustomEquipment.Tanks.Count > 0)
267 {
268 return true;
269 }
270 else
271 {
272 return false;
273 }
274 }
275
276 #endregion
277
278 #region Get methods
279
280
281
282
283
284
285 public static DsCustomEquipment.TanksRow GetTankByTankID(string tankID)
286 {
287 DsCustomEquipment dsCustomEquipment = new DsCustomEquipment();
288 TanksTableAdapter tanksTableAdapter = new TanksTableAdapter();
289 tanksTableAdapter.FillByTankID(dsCustomEquipment.Tanks, tankID);
290
291 if (dsCustomEquipment.Tanks.Count == 0)
292 {
293 throw new Exception(ErrorResource.EquipmentNotFound);
294 }
295
296 DsCustomEquipment.TanksRow tanksRow = dsCustomEquipment.Tanks[0];
297 return tanksRow;
298 }
299
300
301
302
303
304 public static DsCustomEquipment GetTanks()
305 {
306 DsCustomEquipment dsCustomEquipment = new DsCustomEquipment();
307 TanksTableAdapter tanksTableAdapter = new TanksTableAdapter();
308 tanksTableAdapter.Fill(dsCustomEquipment.Tanks);
309 return dsCustomEquipment;
310 }
311
312
313
314
315 public static int Count
316 {
317 get
318 {
319 TanksTableAdapter tanksTableAdapter = new TanksTableAdapter();
320 System.Nullable<int> count = tanksTableAdapter.Count();
321 if (count != null)
322 {
323 return (int)count;
324 }
325 else
326 {
327 return 0;
328 }
329 }
330 }
331
332 #endregion
333
334 #endregion
335 }
336}
337