/EQT_V1/EQT.DAL/DaDept.auto.cs

http://sgsoft-las.googlecode.com/ · C# · 1034 lines · 815 code · 86 blank · 133 comment · 26 complexity · 746d211cab7877060fe5693518887d14 MD5 · raw file

  1. #region DaDept
  2. /*----------------------------------------------------------------
  3. // ????DaDept.cs
  4. // ??????Dept??????
  5. //
  6. //
  7. // ?????2009-02-27
  8. //
  9. // ?????
  10. // ?????
  11. //----------------------------------------------------------------*/
  12. using System;
  13. using System.Collections;
  14. using System.Collections.Generic;
  15. using System.Data;
  16. using System.Globalization;
  17. using System.Text;
  18. using System.Xml;
  19. using System.Data.Common;
  20. using Microsoft.Practices.EnterpriseLibrary.Data;
  21. using Microsoft.Practices.EnterpriseLibrary.Data.Sql;
  22. //using Microsoft.Practices.EnterpriseLibrary.Logging;
  23. using EQT.Model;
  24. //using IDataLayer;
  25. namespace EQT.Dal
  26. {
  27. public partial class DaDept //?????????,IDept
  28. {
  29. //???????????????????
  30. //???????????????SQL Server??????????????????ID??????entiry?
  31. //??????????????????
  32. #region SQL const
  33. private const string SQL_INSERT="INSERT INTO Dept (Dept_ID ,Parent_Dept_ID ,Dept_Name ,Dept_Tel ,Dept_Manager_Code ,Rem ) VALUES "
  34. +"(@Dept_Id,@Parent_Dept_ID,@Dept_Name,@Dept_Tel,@Dept_Manager_Code,@Rem)";
  35. private const string SQL_UPDATE="UPDATE Dept SET Parent_Dept_ID=@Parent_Dept_ID, Dept_Name=@Dept_Name, Dept_Tel=@Dept_Tel, Dept_Manager_Code=@Dept_Manager_Code, Rem=@Rem WHERE Dept_ID=@Dept_ID";
  36. private const string SQL_DELETE="DELETE FROM Dept WHERE Dept_ID=@Dept_ID";
  37. private const string SQL_SELECT="SELECT Dept_ID ,Parent_Dept_ID ,Dept_Name ,Dept_Tel ,Dept_Manager_Code ,Rem from Dept ";
  38. private const string SQL_SELECT_ONE="SELECT Dept_ID ,Parent_Dept_ID ,Dept_Name ,Dept_Tel ,Dept_Manager_Code ,Rem from Dept WHERE Dept_ID=@Dept_ID";
  39. #endregion
  40. private Database db;
  41. #region Constructor
  42. /// <summary>
  43. /// ???????????????????????
  44. /// </summary>
  45. public DaDept ()
  46. {
  47. db=DatabaseFactory.CreateDatabase();
  48. }
  49. /// <summary>
  50. /// ?????databaseName??????
  51. /// </summary>
  52. /// <param name="databaseName">??????????????</param>
  53. public DaDept (string databaseName)
  54. {
  55. this.db = DatabaseFactory.CreateDatabase(databaseName);
  56. }
  57. public DaDept (Database db)
  58. {
  59. this.db = db;
  60. }
  61. #endregion
  62. //???CRUD??????????????????
  63. #region Add
  64. ///build the command object.It never throw exception.
  65. private DbCommand ConstructAddCommand()
  66. {
  67. DbCommand dbCommand = db.GetSqlStringCommand(SQL_INSERT);
  68. //????:Dept_Id
  69. db.AddInParameter(dbCommand,"Dept_Id",DbType.AnsiString);
  70. //????:Parent_Dept_ID
  71. db.AddInParameter(dbCommand,"Parent_Dept_ID",DbType.AnsiString);
  72. //????:Dept_Name
  73. db.AddInParameter(dbCommand,"Dept_Name",DbType.String);
  74. //????:Dept_Tel
  75. db.AddInParameter(dbCommand,"Dept_Tel",DbType.AnsiString);
  76. //????:Dept_Manager_Code
  77. db.AddInParameter(dbCommand,"Dept_Manager_Code",DbType.AnsiString);
  78. //????:Rem
  79. db.AddInParameter(dbCommand,"Rem",DbType.String);
  80. return dbCommand;
  81. }
  82. private DbCommand ConstructAddCommand(MoDept entity)
  83. {
  84. DbCommand dbCommand=db.GetSqlStringCommand(SQL_INSERT);
  85. //????:Dept_Id
  86. db.AddInParameter(dbCommand,"Dept_Id",DbType.AnsiString,entity.Dept_Id);
  87. //????:Parent_Dept_ID
  88. db.AddInParameter(dbCommand,"Parent_Dept_ID",DbType.AnsiString,entity.Parent_Dept_Id);
  89. //????:Dept_Name
  90. db.AddInParameter(dbCommand,"Dept_Name",DbType.String,entity.Dept_Name);
  91. //????:Dept_Tel
  92. db.AddInParameter(dbCommand,"Dept_Tel",DbType.AnsiString,entity.Dept_Tel);
  93. //????:Dept_Manager_Code
  94. db.AddInParameter(dbCommand,"Dept_Manager_Code",DbType.AnsiString,entity.Dept_Manager_Code);
  95. //????:Rem
  96. db.AddInParameter(dbCommand,"Rem",DbType.String,entity.Rem);
  97. return dbCommand;
  98. }
  99. /// <summary>
  100. ///????????????????commit
  101. /// </summary>
  102. public int Add(MoDept entity,DbTransaction trans)
  103. { try
  104. {
  105. DbCommand dbCommand=ConstructAddCommand(entity);
  106. return db.ExecuteNonQuery(dbCommand,trans);
  107. }
  108. catch(DbException ex)
  109. {
  110. HandleDbException(ex,entity);
  111. }
  112. return 0;
  113. }
  114. public int Add(MoDept entity)
  115. {
  116. try
  117. {
  118. DbCommand dbCommand=ConstructAddCommand(entity);
  119. return db.ExecuteNonQuery(dbCommand);
  120. }
  121. catch(DbException ex)
  122. {
  123. HandleDbException(ex,entity);
  124. }
  125. return 0;
  126. }
  127. public int Add(List<MoDept> entity,DbTransaction trans)
  128. {
  129. int rc=0;
  130. DbCommand dbCommand=ConstructAddCommand();
  131. int j=0;
  132. try
  133. {
  134. for(j=0;j<entity.Count;j++)
  135. {
  136. //????:Dept_Id
  137. db.SetParameterValue(dbCommand,"Dept_Id",entity[j].Dept_Id);
  138. //????:Parent_Dept_ID
  139. db.SetParameterValue(dbCommand,"Parent_Dept_ID",entity[j].Parent_Dept_Id);
  140. //????:Dept_Name
  141. db.SetParameterValue(dbCommand,"Dept_Name",entity[j].Dept_Name);
  142. //????:Dept_Tel
  143. db.SetParameterValue(dbCommand,"Dept_Tel",entity[j].Dept_Tel);
  144. //????:Dept_Manager_Code
  145. db.SetParameterValue(dbCommand,"Dept_Manager_Code",entity[j].Dept_Manager_Code);
  146. //????:Rem
  147. db.SetParameterValue(dbCommand,"Rem",entity[j].Rem);
  148. rc+=db.ExecuteNonQuery(dbCommand,trans);
  149. }
  150. }
  151. catch(DbException ex)
  152. {
  153. HandleDbException(ex,entity[j]);
  154. }
  155. return rc;
  156. }
  157. public int Add(List<MoDept> entity)
  158. {
  159. int rc = 0;
  160. using (DbConnection cnn = db.CreateConnection())
  161. {
  162. DbTransaction trans=null;
  163. try
  164. {
  165. cnn.Open();
  166. using(trans = cnn.BeginTransaction())
  167. {
  168. rc=Add(entity,trans);//This function throw customer exception.
  169. trans.Commit();
  170. }
  171. cnn.Close();
  172. }
  173. catch(DbException ex)
  174. {
  175. if(trans!=null)trans.Rollback();
  176. HandleDbException(ex);
  177. }
  178. ///TODO:catch customer exception.
  179. //catch
  180. //{
  181. //
  182. //}
  183. }
  184. return rc;
  185. }
  186. public int Add(DataTable dt, DbTransaction trans)
  187. {
  188. int rc=0;
  189. DbCommand dbCommand =ConstructAddCommand();
  190. int j=0;
  191. try
  192. {
  193. for(j=0;j<dt.Rows.Count;j++)
  194. {
  195. //????:Dept_Id
  196. db.SetParameterValue(dbCommand,"Dept_Id",dt.Rows[j]["Dept_Id"]);
  197. //????:Parent_Dept_ID
  198. db.SetParameterValue(dbCommand,"Parent_Dept_ID",dt.Rows[j]["Parent_Dept_ID"]);
  199. //????:Dept_Name
  200. db.SetParameterValue(dbCommand,"Dept_Name",dt.Rows[j]["Dept_Name"]);
  201. //????:Dept_Tel
  202. db.SetParameterValue(dbCommand,"Dept_Tel",dt.Rows[j]["Dept_Tel"]);
  203. //????:Dept_Manager_Code
  204. db.SetParameterValue(dbCommand,"Dept_Manager_Code",dt.Rows[j]["Dept_Manager_Code"]);
  205. //????:Rem
  206. db.SetParameterValue(dbCommand,"Rem",dt.Rows[j]["Rem"]);
  207. rc+=db.ExecuteNonQuery(dbCommand,trans);
  208. }
  209. }
  210. catch(DbException ex)
  211. {
  212. HandleDbException(ex,dt.Rows[j]);
  213. }
  214. return rc;
  215. }
  216. public int Add(DataTable dt)
  217. {
  218. int rc=0;
  219. using (DbConnection cnn = db.CreateConnection())
  220. {
  221. DbTransaction trans=null;
  222. try
  223. {
  224. cnn.Open();
  225. using(trans = cnn.BeginTransaction())
  226. {
  227. rc = Add(dt, trans);
  228. trans.Commit();
  229. cnn.Close();
  230. }
  231. }
  232. catch(DbException ex)
  233. {
  234. if(trans!=null)trans.Rollback();
  235. HandleDbException(ex);
  236. }
  237. ///TODO:catch customer exception.
  238. //catch
  239. //{
  240. //
  241. //}
  242. }
  243. return rc;
  244. }
  245. #endregion
  246. #region Update
  247. private DbCommand ConstructUpdateCommand()
  248. {
  249. DbCommand dbCommand=db.GetSqlStringCommand(SQL_UPDATE);
  250. db.AddInParameter(dbCommand,"Parent_Dept_ID",DbType.AnsiString);
  251. db.AddInParameter(dbCommand,"Dept_Name",DbType.String);
  252. db.AddInParameter(dbCommand,"Dept_Tel",DbType.AnsiString);
  253. db.AddInParameter(dbCommand,"Dept_Manager_Code",DbType.AnsiString);
  254. db.AddInParameter(dbCommand,"Rem",DbType.String);
  255. db.AddInParameter(dbCommand,"Dept_Id",DbType.AnsiString);
  256. return dbCommand;
  257. }
  258. private DbCommand ConstructUpdateCommand(MoDept entity)
  259. {
  260. DbCommand dbCommand=db.GetSqlStringCommand(SQL_UPDATE);
  261. db.AddInParameter(dbCommand,"Parent_Dept_ID",DbType.AnsiString,entity.Parent_Dept_Id);
  262. db.AddInParameter(dbCommand,"Dept_Name",DbType.String,entity.Dept_Name);
  263. db.AddInParameter(dbCommand,"Dept_Tel",DbType.AnsiString,entity.Dept_Tel);
  264. db.AddInParameter(dbCommand,"Dept_Manager_Code",DbType.AnsiString,entity.Dept_Manager_Code);
  265. db.AddInParameter(dbCommand,"Rem",DbType.String,entity.Rem);
  266. db.AddInParameter(dbCommand,"Dept_Id",DbType.AnsiString,entity.Dept_Id);
  267. return dbCommand;
  268. }
  269. /// <summary>
  270. /// ???????????:??????????
  271. /// </summary>
  272. public int Update(MoDept entity,DbTransaction trans)
  273. {
  274. try
  275. {
  276. DbCommand dbCommand=ConstructUpdateCommand(entity);
  277. return db.ExecuteNonQuery(dbCommand,trans);
  278. }
  279. catch(DbException ex)
  280. {
  281. HandleDbException(ex,entity);
  282. }
  283. return 0;
  284. }
  285. public int Update(MoDept entity)
  286. {
  287. try
  288. {
  289. DbCommand dbCommand=ConstructUpdateCommand(entity);
  290. return db.ExecuteNonQuery(dbCommand);
  291. }
  292. catch(DbException ex)
  293. {
  294. HandleDbException(ex,entity);
  295. }
  296. return 0;
  297. }
  298. public int Update(List<MoDept> entity,DbTransaction trans)
  299. {
  300. int rc=0;
  301. DbCommand dbCommand=ConstructUpdateCommand();
  302. int j=0;
  303. try
  304. {
  305. for(j=0;j<entity.Count;j++)
  306. {
  307. db.SetParameterValue(dbCommand,"Dept_Id",entity[j].Dept_Id);
  308. db.SetParameterValue(dbCommand,"Parent_Dept_ID",entity[j].Parent_Dept_Id);
  309. db.SetParameterValue(dbCommand,"Dept_Name",entity[j].Dept_Name);
  310. db.SetParameterValue(dbCommand,"Dept_Tel",entity[j].Dept_Tel);
  311. db.SetParameterValue(dbCommand,"Dept_Manager_Code",entity[j].Dept_Manager_Code);
  312. db.SetParameterValue(dbCommand,"Rem",entity[j].Rem);
  313. rc+=db.ExecuteNonQuery(dbCommand,trans);
  314. }
  315. }
  316. catch(DbException ex)
  317. {
  318. HandleDbException(ex,entity[j]);
  319. }
  320. return rc;
  321. }
  322. public int Update(List<MoDept> entity)
  323. {
  324. int rc = 0;
  325. using (DbConnection cnn = db.CreateConnection())
  326. {
  327. DbTransaction trans=null;
  328. try
  329. {
  330. cnn.Open();
  331. using(trans = cnn.BeginTransaction())
  332. {
  333. rc=Update(entity,trans);
  334. trans.Commit();
  335. }
  336. cnn.Close();
  337. }
  338. catch(DbException ex)
  339. {
  340. if(trans!=null)trans.Rollback();
  341. HandleDbException(ex);
  342. }
  343. }
  344. return rc;
  345. }
  346. public int Update(DataTable dt, DbTransaction trans)
  347. {
  348. int rc=0;
  349. DbCommand dbCommand=ConstructUpdateCommand();
  350. int j=0;
  351. try
  352. {
  353. for(j=0;j<dt.Rows.Count;j++)
  354. {
  355. db.SetParameterValue(dbCommand,"Dept_Id",dt.Rows[j]["Dept_Id"]);
  356. db.SetParameterValue(dbCommand,"Parent_Dept_ID",dt.Rows[j]["Parent_Dept_ID"]);
  357. db.SetParameterValue(dbCommand,"Dept_Name",dt.Rows[j]["Dept_Name"]);
  358. db.SetParameterValue(dbCommand,"Dept_Tel",dt.Rows[j]["Dept_Tel"]);
  359. db.SetParameterValue(dbCommand,"Dept_Manager_Code",dt.Rows[j]["Dept_Manager_Code"]);
  360. db.SetParameterValue(dbCommand,"Rem",dt.Rows[j]["Rem"]);
  361. rc+=db.ExecuteNonQuery(dbCommand,trans);
  362. }
  363. }
  364. catch(DbException ex)
  365. {
  366. HandleDbException(ex,dt.Rows[j]);
  367. }
  368. return rc;
  369. }
  370. public int Update(DataTable dt)
  371. {
  372. if(dt==null ||dt.Rows.Count==0) return 0;
  373. int rc=0;
  374. using (DbConnection cnn = db.CreateConnection())
  375. {
  376. DbTransaction trans=null;
  377. try
  378. {
  379. cnn.Open();
  380. using(trans = cnn.BeginTransaction())
  381. {
  382. rc = Add(dt, trans);
  383. trans.Commit();
  384. }
  385. cnn.Close();
  386. }
  387. catch(DbException ex)
  388. {
  389. if(trans!=null)trans.Rollback();
  390. HandleDbException(ex);
  391. }
  392. }
  393. return rc;
  394. }
  395. #endregion
  396. #region Update By DataSet
  397. private void PrepareDataAdapterCommand(out DbCommand dbInsertCommand,
  398. out DbCommand dbUpdateCommand,out DbCommand dbDeleteCommand)
  399. {
  400. dbInsertCommand = db.GetSqlStringCommand(SQL_INSERT);
  401. #region set insert cmd parameters
  402. db.AddInParameter(dbInsertCommand, "Dept_Id",DbType.AnsiString, "Dept_Id", DataRowVersion.Current);
  403. db.AddInParameter(dbInsertCommand, "Parent_Dept_ID",DbType.AnsiString, "Parent_Dept_ID", DataRowVersion.Current);
  404. db.AddInParameter(dbInsertCommand, "Dept_Name",DbType.String, "Dept_Name", DataRowVersion.Current);
  405. db.AddInParameter(dbInsertCommand, "Dept_Tel",DbType.AnsiString, "Dept_Tel", DataRowVersion.Current);
  406. db.AddInParameter(dbInsertCommand, "Dept_Manager_Code",DbType.AnsiString, "Dept_Manager_Code", DataRowVersion.Current);
  407. db.AddInParameter(dbInsertCommand, "Rem",DbType.String, "Rem", DataRowVersion.Current);
  408. #endregion
  409. dbUpdateCommand = db.GetSqlStringCommand(SQL_UPDATE);
  410. #region Set update cmd value parameters
  411. db.AddInParameter(dbUpdateCommand, "Parent_Dept_ID", DbType.AnsiString, "Parent_Dept_ID", DataRowVersion.Current);
  412. db.AddInParameter(dbUpdateCommand, "Dept_Name", DbType.String, "Dept_Name", DataRowVersion.Current);
  413. db.AddInParameter(dbUpdateCommand, "Dept_Tel", DbType.AnsiString, "Dept_Tel", DataRowVersion.Current);
  414. db.AddInParameter(dbUpdateCommand, "Dept_Manager_Code", DbType.AnsiString, "Dept_Manager_Code", DataRowVersion.Current);
  415. db.AddInParameter(dbUpdateCommand, "Rem", DbType.String, "Rem", DataRowVersion.Current);
  416. #endregion
  417. #region set update cmd pk where parameters
  418. db.AddInParameter(dbUpdateCommand, "Dept_Id", DbType.AnsiString, "Dept_Id", DataRowVersion.Current);
  419. #endregion
  420. dbDeleteCommand = db.GetSqlStringCommand(SQL_DELETE);
  421. #region set delete cmd pk where parameters
  422. db.AddInParameter(dbDeleteCommand, "Dept_Id", DbType.AnsiString, "Dept_Id", DataRowVersion.Current);
  423. #endregion
  424. }
  425. /// <summary>
  426. /// ??DataSet??????????
  427. /// </summary>
  428. public int UpdateByDataSet(DataSet dst, string strTableName, DbTransaction trans)
  429. {
  430. DbCommand dbInsertCommand = null;
  431. DbCommand dbUpdateCommand = null;
  432. DbCommand dbDeleteCommand = null;
  433. PrepareDataAdapterCommand(out dbInsertCommand,out dbUpdateCommand,out dbDeleteCommand);
  434. try
  435. {
  436. return db.UpdateDataSet(dst, strTableName, dbInsertCommand, dbUpdateCommand, dbDeleteCommand, trans);
  437. }
  438. catch(DbException ex)
  439. {
  440. trans.Rollback();
  441. HandleDbException(ex);
  442. }
  443. return 0;//TODO:Should return Application Specific Error Code.
  444. }
  445. /// <summary>
  446. /// ??DataSet???????????
  447. /// </summary>
  448. public int UpdateByDataSet(DataSet dst, string strTableName)
  449. {
  450. DbCommand dbInsertCommand = null;
  451. DbCommand dbUpdateCommand = null;
  452. DbCommand dbDeleteCommand = null;
  453. PrepareDataAdapterCommand(out dbInsertCommand,out dbUpdateCommand,out dbDeleteCommand);
  454. try
  455. {
  456. return db.UpdateDataSet(dst, strTableName, dbInsertCommand, dbUpdateCommand, dbDeleteCommand, UpdateBehavior.Transactional);
  457. }
  458. catch(DbException ex)
  459. {
  460. HandleDbException(ex);
  461. }
  462. return 0;//TODO:Should return Application Specific Error Code.
  463. }
  464. #endregion
  465. #region Delete
  466. private DbCommand ConstructDeleteCommand()
  467. {
  468. DbCommand dbCommand=db.GetSqlStringCommand(SQL_DELETE);
  469. db.AddInParameter(dbCommand,"Dept_Id",DbType.AnsiString);
  470. return dbCommand;
  471. }
  472. private DbCommand ConstructDeleteCommand(MoDept entity)
  473. {
  474. DbCommand dbCommand=db.GetSqlStringCommand(SQL_DELETE);
  475. db.AddInParameter(dbCommand,"Dept_Id",DbType.AnsiString,entity.Dept_Id);
  476. return dbCommand;
  477. }
  478. /// <summary>
  479. /// delete by pk(entity)
  480. /// </summary>
  481. public int Delete(MoDept entity,DbTransaction trans)
  482. { try
  483. {
  484. DbCommand dbCommand=ConstructDeleteCommand(entity);
  485. return db.ExecuteNonQuery(dbCommand,trans);
  486. }
  487. catch(DbException ex)
  488. {
  489. trans.Rollback();
  490. HandleDbException(ex,entity);
  491. }
  492. return 0;
  493. }
  494. public int Delete(MoDept entity)
  495. {
  496. try
  497. {
  498. DbCommand dbCommand=ConstructDeleteCommand(entity);
  499. return db.ExecuteNonQuery(dbCommand);
  500. }
  501. catch(DbException ex)
  502. {
  503. HandleDbException(ex,entity);
  504. }
  505. return 0;
  506. }
  507. /// <summary>
  508. /// mul-delete
  509. /// </summary>
  510. public int Delete(List<MoDept> entities,DbTransaction trans)
  511. {
  512. int rc=0;
  513. int j=0;
  514. DbCommand dbCommand=ConstructDeleteCommand();
  515. try
  516. {
  517. for(j=0;j<entities.Count;j++)
  518. {
  519. db.SetParameterValue(dbCommand,"Dept_Id",entities[j].Dept_Id);
  520. rc+=db.ExecuteNonQuery(dbCommand,trans);
  521. }
  522. }
  523. catch(DbException ex)
  524. {
  525. if(trans!=null)trans.Rollback();
  526. HandleDbException(ex,entities[j]);
  527. }
  528. return rc;
  529. }
  530. public int Delete(List<MoDept> entities)
  531. {
  532. int rc = 0;
  533. using (DbConnection cnn = db.CreateConnection())
  534. {
  535. DbTransaction trans=null;
  536. try
  537. {
  538. cnn.Open();
  539. using(trans = cnn.BeginTransaction())
  540. {
  541. rc=Delete(entities,trans);
  542. trans.Commit();
  543. }
  544. cnn.Close();
  545. }
  546. catch(DbException ex)
  547. {
  548. if(trans!=null)trans.Rollback();
  549. HandleDbException(ex);
  550. }
  551. }
  552. return rc;
  553. }
  554. public int Delete(DataTable dt,DbTransaction trans)
  555. {
  556. int rc=0;
  557. int j=0;
  558. DbCommand dbCommand=ConstructDeleteCommand();
  559. try
  560. {
  561. for(j=0;j<dt.Rows.Count;j++)
  562. {
  563. db.SetParameterValue(dbCommand,"Dept_Id",dt.Rows[j]["Dept_Id"]);
  564. rc+=db.ExecuteNonQuery(dbCommand,trans);
  565. }
  566. }
  567. catch(DbException ex)
  568. {
  569. if(trans!=null)trans.Rollback();
  570. HandleDbException(ex,dt.Rows[j]);
  571. }
  572. return rc;
  573. }
  574. public int Delete(DataTable dt)
  575. {
  576. int rc=0;
  577. using (DbConnection cnn = db.CreateConnection())
  578. {
  579. DbTransaction trans=null;
  580. try
  581. {
  582. cnn.Open();
  583. using(trans = cnn.BeginTransaction())
  584. {
  585. rc = Delete(dt, trans);
  586. trans.Commit();
  587. }
  588. cnn.Close();
  589. }
  590. catch(DbException ex)
  591. {
  592. if(trans!=null)trans.Rollback();
  593. HandleDbException(ex);
  594. }
  595. }
  596. return rc;
  597. }
  598. /// <summary>
  599. /// ??????????
  600. /// </summary>
  601. public int Delete(string Dept_Id,DbTransaction trans)
  602. {
  603. try
  604. {
  605. DbCommand dbCommand=db.GetSqlStringCommand(SQL_DELETE);
  606. db.AddInParameter(dbCommand,"Dept_Id",DbType.AnsiString,Dept_Id);
  607. return db.ExecuteNonQuery(dbCommand,trans);
  608. }
  609. catch(DbException ex)
  610. {
  611. if(trans!=null)trans.Rollback();
  612. HandleDbException(ex);
  613. }
  614. return 0;
  615. }
  616. public int Delete(string Dept_Id)
  617. {
  618. try
  619. {
  620. DbCommand dbCommand=db.GetSqlStringCommand(SQL_DELETE);
  621. db.AddInParameter(dbCommand,"Dept_Id",DbType.AnsiString,Dept_Id);
  622. return db.ExecuteNonQuery(dbCommand);
  623. }
  624. catch(DbException ex)
  625. {
  626. HandleDbException(ex);
  627. }
  628. return -1;
  629. }
  630. #endregion
  631. #region Query All by condition
  632. /// <summary>
  633. /// ????WHERE????????,?condition????????
  634. /// </summary>
  635. public DataSet Query(string condition)
  636. {
  637. try
  638. {
  639. return db.ExecuteDataSet(CommandType.Text,String.IsNullOrEmpty(condition)?SQL_SELECT:SQL_SELECT+condition);
  640. }
  641. catch(DbException ex)
  642. {
  643. HandleDbException(ex);
  644. }
  645. return new DataSet();
  646. }
  647. public DataSet Query(string condition, DbTransaction trans)
  648. {
  649. try
  650. {
  651. return db.ExecuteDataSet(trans, CommandType.Text, String.IsNullOrEmpty(condition) ? SQL_SELECT : SQL_SELECT + condition);
  652. }
  653. catch(DbException ex)
  654. {
  655. HandleDbException(ex);
  656. }
  657. return new DataSet();
  658. }
  659. #endregion
  660. #region GetEntity(s)
  661. /// <summary>
  662. ///????????????
  663. /// </summary>
  664. public MoDept GetEntity(string mDept_Id )
  665. {
  666. MoDept entity = new MoDept();
  667. entity.Dept_Id=mDept_Id;
  668. if(GetEntityEx(entity))
  669. {
  670. return entity;
  671. }
  672. else
  673. {
  674. return null;
  675. }
  676. }
  677. public MoDept GetEntity(string mDept_Id ,DbTransaction trans)
  678. {
  679. MoDept entity = new MoDept();
  680. entity.Dept_Id=mDept_Id;
  681. if(GetEntityEx(entity,trans))
  682. {
  683. return entity;
  684. }
  685. else
  686. {
  687. return null;
  688. }
  689. }
  690. private DbCommand ConstructSelectOneCommand(Database db,MoDept entity)
  691. {
  692. DbCommand dbCommand=db.GetSqlStringCommand(SQL_SELECT_ONE);
  693. db.AddInParameter(dbCommand,"Dept_Id",DbType.AnsiString,entity.Dept_Id);
  694. return dbCommand;
  695. }
  696. private DbCommand ConstructSelectOneCommand(Database db)
  697. {
  698. DbCommand dbCommand=db.GetSqlStringCommand(SQL_SELECT_ONE);
  699. db.AddInParameter(dbCommand,"Dept_Id",DbType.AnsiString);
  700. return dbCommand;
  701. }
  702. private void PopulateEntityByDataReader(IDataReader reader,ref MoDept entity)
  703. {
  704. if (!reader.IsDBNull(0)) entity.Dept_Id = reader.GetString(0);
  705. if (!reader.IsDBNull(1)) entity.Parent_Dept_Id = reader.GetString(1);
  706. if (!reader.IsDBNull(2)) entity.Dept_Name = reader.GetString(2);
  707. if (!reader.IsDBNull(3)) entity.Dept_Tel = reader.GetString(3);
  708. if (!reader.IsDBNull(4)) entity.Dept_Manager_Code = reader.GetString(4);
  709. if (!reader.IsDBNull(5)) entity.Rem = reader.GetString(5);
  710. }
  711. /// <summary>
  712. ///????????????????????????????????.
  713. ///??????????????????????ref????
  714. /// </summary>
  715. public bool GetEntityEx(MoDept entity)
  716. {
  717. DbCommand dbCommand=ConstructSelectOneCommand(db,entity);
  718. try
  719. {
  720. using(IDataReader reader=db.ExecuteReader(dbCommand))
  721. {
  722. if(reader.Read())
  723. {
  724. PopulateEntityByDataReader(reader,ref entity);
  725. return true;
  726. }
  727. }
  728. }
  729. catch(DbException ex)
  730. {
  731. HandleDbException(ex,entity);
  732. }
  733. return false;
  734. }
  735. public bool GetEntityEx(MoDept entity,DbTransaction trans)
  736. {
  737. DbCommand dbCommand=ConstructSelectOneCommand(db,entity);
  738. try
  739. {
  740. using(IDataReader reader=db.ExecuteReader(dbCommand,trans))
  741. {
  742. if(reader.Read())
  743. {
  744. PopulateEntityByDataReader(reader,ref entity);
  745. return true;
  746. }
  747. }
  748. }
  749. catch(DbException ex)
  750. {
  751. trans.Rollback();
  752. HandleDbException(ex,entity);
  753. }
  754. return false;
  755. }
  756. public List<MoDept> GetEntities(string condition,DbTransaction trans)
  757. {
  758. List<MoDept> list=new List<MoDept>();
  759. try
  760. {
  761. using(IDataReader reader= db.ExecuteReader(trans,CommandType.Text, String.IsNullOrEmpty(condition) ? SQL_SELECT : SQL_SELECT+ condition))
  762. {
  763. while(reader.Read())
  764. {
  765. MoDept entity=new MoDept();
  766. PopulateEntityByDataReader(reader,ref entity);
  767. list.Add(entity);
  768. }
  769. }
  770. }
  771. catch(DbException ex)
  772. {
  773. trans.Rollback();
  774. HandleDbException(ex);
  775. }
  776. return list;
  777. }
  778. public List<MoDept> GetEntities(string condition)
  779. {
  780. List<MoDept> list=new List<MoDept>();
  781. try
  782. {
  783. using(IDataReader reader= db.ExecuteReader(CommandType.Text, String.IsNullOrEmpty(condition) ? SQL_SELECT : SQL_SELECT+" " + condition))
  784. {
  785. while(reader.Read())
  786. {
  787. MoDept entity=new MoDept();
  788. PopulateEntityByDataReader(reader,ref entity);
  789. list.Add(entity);
  790. }
  791. }
  792. }
  793. catch(DbException ex)
  794. {
  795. HandleDbException(ex);
  796. }
  797. return list;
  798. }
  799. #endregion
  800. #region Count
  801. /// <summary>
  802. /// ????????
  803. /// </summary>
  804. public int GetCount()
  805. {
  806. return Convert.ToInt32(db.ExecuteScalar(CommandType.Text,
  807. "SELECT COUNT(*) FROM Dept "));
  808. }
  809. public int GetCount(DbTransaction trans)
  810. {
  811. try
  812. {
  813. return Convert.ToInt32(db.ExecuteScalar(trans,CommandType.Text,
  814. "SELECT COUNT(*) FROM Dept "));
  815. }
  816. catch(DbException ex)
  817. {
  818. HandleDbException(ex);
  819. }
  820. return -1;
  821. }
  822. /// <summary>
  823. /// ????WHERE?????
  824. /// </summary>
  825. public int GetCount(string condition)
  826. {
  827. return Convert.ToInt32(db.ExecuteScalar(CommandType.Text,String.IsNullOrEmpty(condition)?
  828. "SELECT COUNT(*) FROM Dept ":"SELECT COUNT(*) FROM Dept "+condition ));
  829. }
  830. public int GetCount(string condition,DbTransaction trans)
  831. {
  832. try
  833. {
  834. return Convert.ToInt32(db.ExecuteScalar(trans,CommandType.Text,String.IsNullOrEmpty(condition)?
  835. "SELECT COUNT(*) FROM Dept ":"SELECT COUNT(*) FROM Dept "+condition ));
  836. }
  837. catch(DbException ex)
  838. {
  839. HandleDbException(ex);
  840. }
  841. return -1;
  842. }
  843. #endregion
  844. #region Check isExist
  845. /// <summary>
  846. /// ????????????
  847. /// </summary>
  848. public bool IsExist(string mDept_Id )
  849. {
  850. string sql="SELECT COUNT(*) FROM Dept WHERE Dept_ID=@Dept_Id ";
  851. DbCommand dbCommand=db.GetSqlStringCommand(sql);
  852. db.AddInParameter(dbCommand,"Dept_Id",DbType.AnsiString,mDept_Id);
  853. return Convert.ToInt32(db.ExecuteScalar(dbCommand))>0;
  854. }
  855. public bool IsExist(string mDept_Id ,DbTransaction trans)
  856. {
  857. string sql="select count(*) from Dept where Dept_ID=@Dept_Id ";
  858. DbCommand dbCommand=db.GetSqlStringCommand(sql);
  859. db.AddInParameter(dbCommand,"Dept_Id",DbType.AnsiString,mDept_Id);
  860. try
  861. {
  862. return Convert.ToInt32(db.ExecuteScalar(dbCommand,trans))>0;
  863. }
  864. catch
  865. {
  866. trans.Rollback();
  867. throw;
  868. }
  869. }
  870. public bool IsExist(MoDept entity,DbTransaction trans)
  871. {
  872. string sql="select count(*) from Dept where Dept_ID=@Dept_Id ";
  873. DbCommand dbCommand=db.GetSqlStringCommand(sql);
  874. #region set pk where parameters
  875. db.AddInParameter(dbCommand,"Dept_Id",DbType.AnsiString,entity.Dept_Id);
  876. #endregion
  877. try
  878. {
  879. return Convert.ToInt32(db.ExecuteScalar(dbCommand,trans))>0;
  880. }
  881. catch
  882. {
  883. trans.Rollback();
  884. throw;
  885. }
  886. }
  887. public bool IsExist(MoDept entity)
  888. {
  889. string sql="select count(*) from Dept where Dept_ID=@Dept_Id ";
  890. DbCommand dbCommand=db.GetSqlStringCommand(sql);
  891. #region set pk where parameters
  892. db.AddInParameter(dbCommand,"Dept_Id",DbType.AnsiString,entity.Dept_Id);
  893. #endregion
  894. return Convert.ToInt32(db.ExecuteScalar(dbCommand))>0;
  895. }
  896. #endregion
  897. #region Handle Exception
  898. private void HandleDbException(DbException ex)
  899. {
  900. //TODO:handle db exception.
  901. //Please throw application custom exception.
  902. throw ex;
  903. }
  904. private void HandleDbException(DbException ex, MoDept entity)
  905. {
  906. //NOTE:If you use SQL Server/Oracle/Db2... ,Please add the [internal static class ErrorCodes]
  907. //Use the ErrorCodes like below:
  908. //if (ex.Number == ErrorCodes.SqlUserRaisedError)
  909. //{
  910. // switch (ex.State)
  911. // {
  912. // case ErrorCodes.ValidationError:
  913. // string[] messageParts = ex.Errors[0].Message.Split(':');
  914. // throw new RepositoryValidationException(
  915. // mapper.MapDbParameterToBusinessEntityProperty(messageParts[0]),
  916. // messageParts[1], ex);
  917. // case ErrorCodes.ConcurrencyViolationError:
  918. // throw new ConcurrencyViolationException(ex.Message, ex);
  919. // }
  920. //}
  921. //TODO:Please contruct your customer Exception.
  922. //throw new RepositoryFailureException(ex);
  923. throw ex;
  924. }
  925. private void HandleDbException(DbException ex,DataRow entity)
  926. {
  927. //TODO:If you use SQL Server/Oracle/Db2... ,Please add the [internal static class ErrorCodes]
  928. //if (ex.Number == ErrorCodes.SqlUserRaisedError)
  929. //{
  930. // switch (ex.State)
  931. // {
  932. // case ErrorCodes.ValidationError:
  933. // string[] messageParts = ex.Errors[0].Message.Split(':');
  934. // throw new RepositoryValidationException(
  935. // mapper.MapDbParameterToBusinessEntityProperty(messageParts[0]),
  936. // messageParts[1], ex);
  937. // case ErrorCodes.ConcurrencyViolationError:
  938. // throw new ConcurrencyViolationException(ex.Message, ex);
  939. // }
  940. //}
  941. //TODO:Please contruct your customer Exception.
  942. //throw new RepositoryFailureException(ex);
  943. throw ex;
  944. }
  945. #endregion
  946. }
  947. }
  948. #endregion